2

我有一个ArrayCollection对象用作对象的源HierarchicalData。我的对象大致是这样的:

ObjectName (String)
SubCollection (ArrayCollection)

HierarchicalData在 AdvancedDataGrid 中使用 以分组格式显示数据。

我能够ArrayCollection使用filterFunction. 我现在要做的也是过滤 中的记录,SubCollection以便只有与过滤器匹配的项目才会显示在AdvancedDataGrid.

谁能告诉我如何过滤 a 中的子行HierarchicalData

4

1 回答 1

2

这个答案不是您问题的直接答案,但它应该有助于了解一些背景知识。本质上我和你处于相同的位置,我需要根据我拥有的父节点类型显示特定的数据集。

在这种情况下,从覆盖开始,HierarchicalData.getChildren(node:Object):Object这将使您可以访问过滤第一级子级,并且还使您能够为子子级调用过滤方法到任何第 n 级。

然后,您将扩展类用作 ADG 的源。

一个伪代码示例:

Class MyCollection extends HierarchicalData

override public function getChildren(node:Object):Object 
{
    if (node is a TopLevelObject)
        (node.children as ArrayCollection).filterFunction = filterSub;
        node.children.refresh();
    else if (node is a SubCollectionObject)
        (node.children as ArrayCollection).filterFunction = filterGrandChildren;
        node.children.refresh();

    // - OR -
        //a more complex process of allowing the sub-node to determine it's filter
        return node.filterSubCollectionGrandChildren();


    return node;
}
于 2012-10-11T15:09:24.917 回答