我正在提取 xml 数据来确定哪些列可见,以及每列的宽度。我的数据网格的宽度可以改变,因为它位于 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]) 时,它显示为正确的值,因此宽度分配中发生了奇怪的情况。
我已经研究这个问题几个小时了,并尝试了多种方法来修复它,但没有成功。
最佳答案
block 引用>My datagrid's width can change sinces its on one side of a HDividedBox.
这就是问题所在。
每当 DataGrid 的宽度未固定时,我都会遇到与 Flex 2 和 Flex 3 DataGridColumn 宽度完全相同的问题。我唯一的解决方案是修复 DataGrid 的宽度或切换到 AdvancedDataGrid 或其他类似组件。
关于apache-flex - Flex 3 DataGrid 列宽问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1302522/