如何使datagrid高度等于Adobe Flex中的数据内容

时间:2008-11-07 03:20:33

标签: flex datagrid flex3

在adobe中,Flex数据网格高度同样适用于修复高度。我想让datagrid高度依赖于数据。

9 个答案:

答案 0 :(得分:6)

通过在datagrid上将“variableRowHeight”属性设置为true并在dataGridColumn上将“wordWrap”属性设置为true,可以根据该行的特定列的内容设置datagrid的每一行以使其适合包含可变高度内容。

答案 1 :(得分:5)

我不太明白你的问题,但如果你问如何将DataGrid的大小调整为dataProvider中的行数,你可以尝试:

dataGrid.rowCount = yourCollection.length;

<mx:DataGrid rowCount="{yourCollection.length}"/>

答案 2 :(得分:4)

使用Flex SDK 3.3我遇到了同样的问题。多年来我已经看到了几个关于此的Adobe bug报告,但是bug检查器总是说它已经解决了。我可以建议的最好的事情是在数据网格上设置一个显式的像素高度,或者你可以试试这个:

dg.height = dg.measureHeightOfItems(0, dgDataProvider.length) + dg.headerHeight;

巴特

答案 3 :(得分:3)

感谢那些说:

<mx:DataGrid rowCount="{yourCollection.length}"/>

- 这实际上适用于Flex 4.但是我想指出根据文档“rowCount包含标题行”,所以我想答案应该是

<mx:DataGrid rowCount="{yourCollection.length + 1}"/>

尽管如此,我认为doco是错误的,因为前一种解决方案适合我。

否则,这有帮助吗? http://www.actionscript.org/forums/showthread.php3?t=220962

答案 4 :(得分:1)

我与Flex有过的最奇怪的问题是如何简单地将Lists和DataGrids大小设置为其内容(不显示滚动条或任何空行)。我认为即使行高可变,它也会完全直截了当。似乎没有其他人有这个问题?!

<mx:DataGrid rowCount="{yourCollection.length}"/>

反复看到上面的解决方案 - 哪个不起作用。当集合中有多个项目时,我会得到一个滚动条和一个额外的空行。

答案 5 :(得分:1)

var rwcnt = xmllist.length();// dataprovider.length

ADG.rowHeight = 20;

var rht = ADG.rowHeight;

ADG.height = (rwcnt * rht) + 26;

这就是我得到的控制高级数据网格大小的解决方案

答案 6 :(得分:1)

在Spark DataGrid中,您可以将 requestedRowCount 设置为 dataProviderLength ,但不要为数据网格设置高度。

此外,对于长度小于3的dataProvider,它总是会显示3行。

注意Spark也向我们提供了requestRaxRowCount&amp; requestedMinRowCount个

答案 7 :(得分:0)

感谢Brat的回答,这对我有用(在某种程度上)。只有一点修改,当我们使用上面的计算计算高度时会出现垂直滚动,我们还需要设置 verticalScrollPolicy = "off" 以便它永远不显示

答案 8 :(得分:0)

当然,请避免在datagrid MXML中使用height =“100%”或top =“10”bottom =“123”

相关问题