【发布时间】:2010-12-28 17:40:05
【问题描述】:
我有一个带有 4 列的 flex 数据网格。我有一个带有 4 个复选框的组合框,其中包含数据网格的列名作为其标签。我希望数据网格仅显示在组合框中选择的那些列。谁能告诉我如何可以对datagrid中的列进行这种过滤吗?
提前致谢。
【问题讨论】:
标签: apache-flex datagrid combobox filter
我有一个带有 4 列的 flex 数据网格。我有一个带有 4 个复选框的组合框,其中包含数据网格的列名作为其标签。我希望数据网格仅显示在组合框中选择的那些列。谁能告诉我如何可以对datagrid中的列进行这种过滤吗?
提前致谢。
【问题讨论】:
标签: apache-flex datagrid combobox filter
您可以使用.columns 属性操作附加到数据网格的列。请记住,此方法是一个 getter,并向您返回数据网格上列列表的副本,因此如果您操作其内容,则必须使用等效的 setter 将这些更改应用回数据网格,例如
<mx:DataGrid id="dg" />
在 ActionScript 代码中
var columns:Array = dg.column;
columns.push(new DataGridColumn("hello"));
dg.columns = columns;
在您的情况下,您可以将列的主列表保存在一个单独的数组中,并在用户从您的组合框中的列表中检查和取消选中它们时将它们推送到数据网格中。
或者,您可以遍历列列表以查找在您的组合框中选中的列,并相应地设置它们的 .visible 属性。
HTH
【讨论】: