我正在拉xml数据以确定哪些列是可见的,以及每列的宽度。我的数据网格的宽度可以改变它在HDividedBox的一侧。可见性部分工作,但设置宽度导致头痛。继承人的代码:Flex 3 DataGrid列宽问题
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])它显示为正确的值,所以在分配宽度时会发生奇怪的事情。
一直看着这几个小时,并尝试了多种尝试修复它无济于事。
我想,如果DataGrid的尺寸太小创建时计算列出现此错误。 一个解决方法是将宽度设置为适应所有列的宽度,例如100,然后在创建完成事件中将宽度设置为您真正想要的宽度,例如percentWidth = 100 – robmcm 2011-01-12 08:39:32