AS3中的AdvancedDatagrid GroupingCollection

时间:2011-01-22 22:40:48

标签: flex actionscript-3 flex4 advanceddatagrid

我的AIR-Application基于Mate。 我从SQLite接收数据并将Date放入ArrayCollection。

在AdvancedDataGrid的类中,我通过mxml创建一个GroupingCollection。一切正常。 我更喜欢在Actionscript中构建GroupingCollection。但我找不到任何东西,如何编码。 在adobe帮助本身,他们在mxml中创建了一个GroupingCollection。

目标是,在另一个班级的伙伴模型中实现gc。这将是一个图表,dataProvider必须是gc。

另一个想法是,构建groupingCollection并通过双向绑定将其放入模型中。但我不确定,如果这样可行。

你有什么暗示吗?

谢谢 弗兰克

1 个答案:

答案 0 :(得分:2)

它的工作原理如下。真是一场战斗。

        private function onCreationComplete () :void
        {
            adg.dataProvider = createDataProvider();
        }

        private function createDataProvider () :GroupingCollection2
        {
            var tmp:GroupingCollection2 = new GroupingCollection2();
            tmp.source = dpArrColl;
            tmp.grouping = adgGrouping();
            tmp.refresh(false);
            return tmp;
        }

        private function adgGrouping () : Grouping
        {
            var tmp:Grouping = new Grouping();
            tmp.fields = [groupingFieldArray()];
            return tmp;
        }

        private function groupingFieldArray () :GroupingField
        {
            var tmp:GroupingField = new GroupingField();
            tmp.name = "groupName1";
            tmp.summaries = [adgSummaries()];
            return tmp;
        }

        private function adgSummaries () : SummaryRow
        {
            var tmp:SummaryRow = new SummaryRow();
            tmp.summaryPlacement = "group";
            tmp.fields = [adgSummaryFiled1(), adgSummaryField2()];
            return tmp;
        }

        private function adgSummaryFiled1 () :SummaryField2
        {
            var tmp:SummaryField2 = new SummaryField2();
            tmp.dataField = "Sumfiel1";
            tmp.summaryOperation = "SUM";
            return tmp;
        }

        private function adgSummaryField2 () : SummaryField2
        {
            var tmp:SummaryField2 = new SummaryField2();
            tmp.dataField = "Sumfield2";
            tmp.summaryOperation = "COUNT";
            return tmp;
        }

我希望有一天会有人帮忙。

BR 弗兰克