You can see an MXML example
here. This is (almost) the same thing in pure AS3:
Code:
import mx.collections.ArrayCollection;
import mx.collections.Grouping;
import mx.collections.GroupingCollection2;
import mx.collections.GroupingField;
import mx.controls.AdvancedDataGrid;
import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
private function init():void
{
var testData:ArrayCollection = new ArrayCollection([
{Region:"Southwest", Territory:"Arizona", Territory_Rep:"Barbara Jennings", Actual:38865, Estimate:40000},
{Region:"Southwest", Territory:"Arizona", Territory_Rep:"Dana Binn", Actual:29885, Estimate:30000},
{Region:"Southwest", Territory:"Central California", Territory_Rep:"Joe Smith", Actual:29134, Estimate:30000},
{Region:"Southwest", Territory:"Nevada", Territory_Rep:"Bethany Pittman", Actual:52888, Estimate:45000},
{Region:"Southwest", Territory:"Northern California", Territory_Rep:"Lauren Ipsum", Actual:38805, Estimate:40000},
{Region:"Southwest", Territory:"Northern California", Territory_Rep:"T.R. Smith", Actual:55498, Estimate:40000},
{Region:"Southwest", Territory:"Southern California", Territory_Rep:"Alice Treu", Actual:44985, Estimate:45000},
{Region:"Southwest", Territory:"Southern California", Territory_Rep:"Jane Grove", Actual:44913, Estimate:45000}
]);
var myADG:AdvancedDataGrid = new AdvancedDataGrid();
myADG.columns = new Array(new AdvancedDataGridColumn('Territory'), new AdvancedDataGridColumn('Territory_Rep'), new AdvancedDataGridColumn('Actual'), new AdvancedDataGridColumn('Estimate'));
var myGroup:Grouping = new Grouping();
myGroup.fields = new Array(new GroupingField('Region'), new GroupingField('Territory'));
var myGroupingCollection:GroupingCollection2 = new GroupingCollection2();
myGroupingCollection.source = testData;
myGroupingCollection.grouping = myGroup;
myGroupingCollection.refresh();
myADG.dataProvider = myGroupingCollection;
myADG.validateNow();
container.addElement(myADG);
}
"container" is the ID of the element you want to append the ADG to.