Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex Flex 4,AdvancedDataGrid:初始列宽_Apache Flex_Advanceddatagrid_Column Width - Fatal编程技术网

Apache flex Flex 4,AdvancedDataGrid:初始列宽

Apache flex Flex 4,AdvancedDataGrid:初始列宽,apache-flex,advanceddatagrid,column-width,Apache Flex,Advanceddatagrid,Column Width,我发现advanceddatagrid列的宽度有问题。 首先,我的布局是一个HDividedBox,左边是导航,右边是一个模块,包含advanceddatagrid 左侧:导航 右侧:模块(例如advanceddatagrid) 大多数列的宽度是固定的,有些列的宽度是最小的。现在,最初列的宽度是正确的 所以问题是,无论何时我加载一个新模块,然后重新加载advanceddatagrid,列的初始宽度都是不同的,尽管我在加载模块的过程中没有做任何更改。固定宽度和最小宽度最初都不正确。 我最近看到有一

我发现advanceddatagrid列的宽度有问题。 首先,我的布局是一个HDividedBox,左边是导航,右边是一个模块,包含advanceddatagrid

左侧:导航

右侧:模块(例如advanceddatagrid)

大多数列的宽度是固定的,有些列的宽度是最小的。现在,最初列的宽度是正确的

所以问题是,无论何时我加载一个新模块,然后重新加载advanceddatagrid,列的初始宽度都是不同的,尽管我在加载模块的过程中没有做任何更改。固定宽度和最小宽度最初都不正确。 我最近看到有一个解决方案,可以解决柱体宽度错误的问题,看起来是这样的:

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();
var oldPolicy:String=advanceddatagrid.myScrollPolicy;
advanceddatagrid.myScrollPolicy=ScrollPolicy.ON;
for(变量i:int=0;i
总的来说,这只是对ScrollPolicy的临时更改,重新设置列宽,然后再更改回来。但它仍然不起作用


有人有线索吗?

一些相关的参考资料可能会有所帮助(第一个对我有用):

总结第一篇文章(归功于Nick Schneble):


这似乎有点可笑,但如果在数据网格中的基础数据发生变化时执行此方法,则列的布局将非常漂亮。

for
循环中,这一行看起来可疑:
advanceddatagrid.column.width=advanceddatagrid.column.width。它不应该使用上一行的column变量吗?哦,你说得对。我只是把它拼错了。在我的原始脚本中,它是正确的。
public function resizeColumns () : void
{
    grid.validateNow ();
    // forces the columns to size themselves properly
    for each (var column : AdvancedDataGridColumn in grid.columns)
    {
        column.width = column.width;
    } 
}