我有一个包含4列的flex数据网格。我有一个包含4个复选框的组合框,其中包含datagrid的列名作为其标签。我希望数据网格只显示在组合框中选择的那些列。任何人都可以告诉我如何可以在datagrid中对列进行过滤吗?
提前致谢。
答案 0 :(得分:1)
您可以使用.columns
属性操纵附加到数据网格的列。请记住,此方法是一个getter,并返回datagrid上列列表的副本,因此,如果您操作其内容,则必须使用等效的setter将这些更改应用回数据网格,例如。
<mx:DataGrid id="dg" />
在ActionScript代码中
var columns:Array = dg.column;
columns.push(new DataGridColumn("hello"));
dg.columns = columns;
在您的情况下,您可以将列的主列表保存在单独的数组中,并在用户检查并从组合框中的列表中取消选中时将它们推送到数据网格。
或者,您可以遍历列列表,查找在comboBox中检查的列表并相应地设置其.visible
属性。
HTH