在adobe中,Flex数据网格高度同样适用于修复高度。我想让datagrid高度依赖于数据。
答案 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”