Flex DataGrid:仅显示在一列中具有特定值的行

时间:2012-07-26 10:23:13

标签: flex actionscript

我有一个ArrayCollection,它是DataGrid的dataProvider。 ArrayCollection可能如下所示:

{Name: Bob; LikesIceCream:YES},
{Name: Carl; LikesIceCream:NO},
{Name: Ed; LikesIceCream:NO}

我想要一个复选框,这将使DataGrid在检查时显示所有人,或者只显示具有LikesIceCream属性的人:未检查时为NO。我如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

您可以使用ArrayCollection的filterFunction属性。

编写自己的函数来过滤集合:

function myFilterFunction(item: Object): Boolean 
{
   var result: Boolean = true;
   if (!checkBox.selected)  
   {
      result = (item.LikesIceCream == "Yes");
   }
   return result;
}

设置集合filterFunction属性

  

collection.filterFunction = myFilterFunction;

最初和复选框更改后刷新集合

  

collection.refresh();