带有意外附加行的 DataGrid Spark

DataGrid Spark with an unexpected addtionnal row

我制作了一个带有自定义 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"
                > 

谢谢!

您没有在 DataGrid 定义中指定高度,我认为您对 DataGrid 如何显示其数据感到困惑。

默认情况下,DataGrid 的高度,如果您使用的是 rowHeight=26,将足以 space 显示列 header 行、2 行数据和一点点第三行数据的位。

具有以下应用程序定义:

<?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 创建 "blank" 行,即使没有数据存在,并且如果高度不是很大,则总是创建部分行足以显示一整行:

您的选择是:

  • 根据数量动态设置DataGrid的高度 排除空白/空行的数据行。
  • 使高度完全适合 完整的行(没有部分行)并接受它显示为空的事实 行。
  • 改为使用 AdvancedDataGrid。