0

我的 AIR 应用程序基于 Mate。我从 SQLite 接收数据并将日期放入 ArrayCollection。

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

目标是为另一个类实例化 mate 模型中的 gc。这将是一个图表,并且 dataProvider 必须是 gc。

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

你有什么提示吗?

谢谢弗兰克

4

1 回答 1

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弗兰克

于 2011-02-01T08:49:51.290 回答