【问题标题】:Adobe Flex arraycollectionAdobe Flex 数组集合
【发布时间】:2011-11-01 08:33:51
【问题描述】:

我想将单个集合对象用于两个不同的 UI 组件。 1. Datagrid 和 2nd 是图表组件。我不想更改 arraycollection 对象内的任何内容,但我想同时将它与两个不同的组件一起使用,并进行细微的更改。我知道我们可以使用过滤器功能,但不确定如何将过滤器应用于 arraycollection 对象,以便一个组件(数据网格)可以使用原始的 arraycollection 对象,而第二个组件(图表)使用修改后的对象。

谢谢,

【问题讨论】:

    标签: apache-flex flex4 adobe


    【解决方案1】:

    如果您对两个不同的组件使用相同的 ArrayCollection 作为 dataProvider,则应用于该 ArrayCollection 的任何过滤器或排序都将显示在两个组件中。

    你想做的事做不到。

    但是,您可以基于相同的源创建多个 ArrayCollections,并对它们应用不同的过滤器。概念上是这样的:

    public var arrayCollection1 : ArrayCollection = new ArrayCollection();
    public var arrayCollection2 : ArrayCollection = new ArrayCollection();
    
    protected function onIGotTheArray(value:Array):void{
     arrayCollection1.source = value;
     arrayCollection2.source = value;
     dataGrid.dataProvider = arrayCollection1;
     chart.dataProvider = arrayCollection2;
    }
    

    现在您可以在不影响第二个 arrayCollection 的情况下对第一个 arrayCollection 应用过滤器,反之亦然。

    根据我的经验,这是首选方法。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 2010-12-02
    • 2010-09-05
    • 1970-01-01
    • 2014-08-12
    • 2010-11-30
    • 1970-01-01
    相关资源
    最近更新 更多