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

问题描述:

我有一个ArrayCollection,它是DataGrid的一个dataProvider。一个ArrayCollection可能看起来像:Flex DataGrid:只显示一列中具有特定值的行

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

我想有一个复选框,这将使DataGrid的节目既可以当它被选中,或者只有那些谁拥有财产LikesIceCream所有的人:未选中NO时, 。我如何实现这一目标?

+0

将过滤器添加到您的ArrayCollection中。 – JeffryHouser 2012-07-26 13:27:20

您可以使用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后();