0
我有一个flex数据网格,有4列。我有一个带有4个复选框的组合框,包含datagrid的列名作为它的标签。我希望datagrid仅显示那些在combobox.Can任何人都可以告诉我如何过滤datagrid中的列?使用CheckBox过滤flex数据网格中的列
在此先感谢。
我有一个flex数据网格,有4列。我有一个带有4个复选框的组合框,包含datagrid的列名作为它的标签。我希望datagrid仅显示那些在combobox.Can任何人都可以告诉我如何过滤datagrid中的列?使用CheckBox过滤flex数据网格中的列
在此先感谢。
您可以使用.columns
属性来操纵附加到数据网格的列。请记住,此方法是一个getter并返回数据网格上的列列表的副本,因此,如果操纵其内容,则必须使用等效设置器将这些更改应用到数据网格。
<mx:DataGrid id="dg" />
在ActionScript代码
var columns:Array = dg.column;
columns.push(new DataGridColumn("hello"));
dg.columns = columns;
在你的情况,你可以容纳列的主列表在一个单独的阵列,并推动他们到数据网格,用户检查和未检查他们列表在您的组合框。
或者,您可以遍历列表列表,查找在您的组合框中选中的列表并相应地设置它们的.visible
属性。
HTH
非常感谢西蒙。 我还有一个问题。我怎样才能得到选中的checkBox标签(它存在于comboBox里面),这样我就可以与列名进行比较,只显示名称与所选复选框匹配的列。 – Anupama 2009-12-22 03:29:39
与此我不得不看你用来填充组合框的代码。原则上,您可以使用列列表来填充组合框,然后当您检索selectedItem属性时,您将拥有DataGridColumn对象。但是,这意味着你要创建一个主列表。 – Simon 2009-12-22 07:40:16