2010-03-15 18 views
1

嗨, 在flex中,我有一個包含22列的數據網格。我最初顯示所有列。每列右邊的寬度均勻。 現在,當我改變幾列的可見性時,每列的寬度都不相同。我如何保持每列的統一列寬是否有任何不可見列?... 另外我如何獲得可視列數的計數。 ColumnCount屬性返回列的總數,而不是可見列的數量。如何在運行時在flex中的datagrid中設置相同的列寬?

回答

0

這些列是一個數組,因此您可以將代碼追加到任何使它們不可見的函數,並循環遍歷該數組來設置每個元素的寬度。你只需要保持你的Datagrids寬度和可見列的數量的標籤,你也可以使用循環。這裏有一些未經測試的代碼應該會讓你接近你的目標:

function makeAColInvisible():void{ 
    //code you use to set col invisible 

    var visColCount:number = 0; 
    for each (var item:DataGridColumn in myDataGrid.columns){ 
    if(item.visible == true){ 
     visColCount++; 
    } 
    } 

    for each (var item2:DataGridColumn in myDataGrid.columns){ 
    item2.width = myDataGrid.width/visColCount; 
    } 
} 
相關問題