我正在拉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