我正在提取xml数据以确定哪些列可见,以及每列的宽度.我的datagrid的宽度可以改变,因为它在hdividedBox的一侧.可见性部分可以工作,但设置宽度会引起头痛.继承人代码:
for(loop through column data retrieve from XML)
{
newData[i] = dg.columns[Number(columnsOrder[i]) - 1];
newData[i].visible = (Number(columnsVisibility[i]) == 1);
newData[i].width = Number(columnsWidth[i]);
trace(newData[i].headerText + " w:" + newData[i].width.toString() + " v:" + newData[i].visible.toString());
}
dg.columns = newData;
dg.invalidateList();
在跟踪中,前两个项目的宽度是正确的,但是,对于连续的一个项目,它显示为“20”…
Date w:240 v:true Title w:184 v:true Requestor w:20 v:true Approved By w:20 v:true Category w:20 v:false Status w:20 v:false Priority w:20 v:false
当我输出Number(columnsWidth [i])时,它显示为正确的值,因此在宽度分配中发生了奇怪的事情.
现在看了几个小时,并尝试了多种方法试图修复它无济于事.
解决方法
My datagrid’s width can change sinces its on one side of a hdividedBox.
这就是问题所在.
每当DataGrid的宽度未修复时,我就遇到了与Flex 2和Flex 3 DataGridColumn宽度完全相同的问题.我唯一的解决方案是修复DataGrid的宽度或切换到AdvancedDataGrid或其他类似的组件.