如何隐藏行而不从DataGrid中的dataprovidor中删除项目... AS3,Flex?

时间:2010-10-08 10:56:12

标签: flex actionscript-3

我们如何在AS3的DataGrid的特定索引处隐藏行

2 个答案:

答案 0 :(得分:7)

如果DataGrid的dataProvider为ArrayCollection,您可以为其指定filterFunction属性,类似

dataProvider.filterFunction =
    function (item:Object):Boolean{
        if (dataProvider.getItemIndex(item)==indexOfRowYouWantToHide){
            return false;
        }
        return true;
    };

该项仍将在ArrayCollection中,但过滤器将使其不可见。不是最有效的解决方案,但它有效。你需要打电话

dataProvider.refresh();

应用过滤器。

更新:要访问ArrayCollection的原始未经过滤的数据,您应该使用list属性,因此如果您将项目隐藏在索引0但仍希望能够访问你是这样做的:

dataProvider.list.getItemAt(0);

答案 1 :(得分:0)

没有(简单)的方式。您可以尝试将DataGrid子类化以添加此功能,但这将是非常繁重的任务。