【发布时间】:2012-05-30 07:39:00
【问题描述】:
我遇到了高级数据网格列的宽度问题。 首先,我的布局是一个HDvidedBox,左边是导航,右边是模块,里面有advanceddatagrid。
左侧:导航
右侧:模块(例如高级数据网格)
大多数列都有固定宽度,有些是最小宽度。现在,最初列的宽度是正确的。
所以问题是,每当我加载一个新模块并稍后重新加载高级数据网格时,列的初始宽度是不同的,尽管我在加载模块的过程中没有任何改变。固定宽度和 minWidths 最初都不正确。 我最近看到有一个解决列宽错误的方法,它看起来像这样:
var oldPolicy:String = advanceddatagrid.myScrollPolicy;
advanceddatagrid.myScrollPolicy = ScrollPolicy.ON;
for(var i:int = 0; i < advanceddatagrid.columns.length; i++) {
var column:AdvancedDataGridColumn = advanceddatagrid.columns[i] as AdvancedDataGridColumn;
advanceddatagrid.column.width = column.width;
}
advanceddatagrid.validateNow();
advanceddatagrid.myScrollPolicy = oldPolicy;
advanceddatagrid.validateNow();
总的来说,这只是 ScrollPolicy 的临时更改,重新设置列宽,然后更改回来。但是,它仍然不起作用。
有人知道吗?
【问题讨论】:
-
在您的
for循环中,这条线看起来很可疑:advanceddatagrid.column.width = advanceddatagrid.column.width;。不应该使用上面一行中的列变量吗? -
哦,你是对的。我只是在这里拼错了。在我的原始脚本中是正确的。
标签: apache-flex advanceddatagrid column-width