如何在运行时在flex中的数据网格中设置相同的列宽?

时间:2010-03-15 11:11:37

标签: flex datagrid width visibility

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

1 个答案:

答案 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;
  }
}