2011-01-22 21 views
0

我的AIR應用程序基於Mate。 我從SQLite接收數據並將日期放入ArrayCollection中。AS3中的AdvancedDatagrid GroupingCollection

在我的AdvancedDataGrid的類中,我通過mxml創建了一個GroupingCollection。一切正常。 我更喜歡在Actionscript中構建GroupingCollection。但我找不到任何東西,如何編碼。 在adobe幫助中,他們在mxml中創建一個GroupingCollection。

的目標是,讓另一個班的同伴模型中的gc實例化。這將是一個圖表,dataProvider必須是gc。

另一個想法是,構建groupingCollection並通過雙向綁定將其放入模型中。但我不確定,如果這會起作用。

你有什麼提示嗎?

謝謝 弗蘭克

回答

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 Frank