HI, 在flex中,我有一个包含22列的数据网格。我最初显示所有列。每列右边的宽度是均匀的。 现在,当我改变几列的可见性时,每列的宽度会有所不同。无论是否有不可见的列,我如何为每列保持统一的列宽?... 另外,我如何获得可见列数的计数。 ColumnCount属性返回总列数,而不是可见数量。
答案 0 :(得分: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;
}
}