apache-flex DataGrid Spark具有意外的附加行

h4cxqtbf  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(159)

我使用自定义GridItemRenderer创建了一个DataGrid。看here。我使用addItem函数在DataProvider中添加了一个GridColumn,然后添加了2个项目,我指定了rowHeight,但在列的末尾出现了一个意外的小行。我真的不知道为什么,如果有人有想法的话..我也尝试修改RequestedRowCount属性,但是没有成功。我也在调试模式下看了看,列表中只有两项。
我的数据网格:

<s:DataGrid id="datagridGPTGauche"
                width="130"
                skinClass="fr.eram.skins.CustomDataGridSkin"
                textAlign="center"
                dataProvider="{dataProviderGridGPTGauche}"
                initialize="onInitializeDatagridGPTGauche(event)"
                editable="false"
                rowHeight="26"
                resizableColumns="false"
                selectionMode="none"
                sortableColumns="false" 
                requestedRowCount="2"
                >

谢谢你!

yacmzcpb

yacmzcpb1#

您尚未在DataGrid定义中指定Height,我认为您对DataGrid如何显示其数据感到困惑。
默认情况下,DataGrid的高度(如果使用rowHeight=26)将刚好足够显示列标题行、2行数据和第3行数据的一小部分。
具有以下应用程序定义:

<?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Declarations>
    <s:ArrayCollection id="myPeople">
        <fx:Object Name="Heidi Lister" Age="10" DOB="1967-06-27"/>
        <fx:Object Name="John Donald" Age="20" DOB="1980-04-21"/>
    </s:ArrayCollection>
</fx:Declarations>

<s:DataGrid id="datagridGPTGauche"
            textAlign="center"
            width="500"
            dataProvider="{myPeople}"
            editable="false"
            rowHeight="26"
            resizableColumns="false"
            selectionMode="none"
            sortableColumns="false"/>
</s:Application>

我们可以看到IE中的输出如下:

如果我们将DataGrid的高度增加到150,我们实际上可以看到,即使没有数据,DataGrid也会创建“空白”行,并且如果高度不足以显示完整的行,则始终创建部分行:

您的选项包括:

  • 根据数据的行数动态设置DataGrid的高度,以排除空白/空行。
  • 使高度完全适合整行(而不是部分行),并接受它显示空行的事实。
  • 请改用高级数据网格。

相关问题