pasensyoso_mani
09-13-2010, 06:01 AM
Hi there coders,
I'm learning flex about a week or two. Am using Flex 4, may I ask some guidance of creating a component on-the-fly particularly an advancedatagrid object.
This advancedatagrid will have an advancedcolumn and advancecolumngroup on it. Please show me the right way to do this on-the-fly.
Best Regards!
Inigoesdr
09-13-2010, 06:33 AM
You can see an MXML example here (http://livedocs.adobe.com/flex/3/langref/mx/controls/AdvancedDataGrid.html#includeExamplesSummary). This is (almost) the same thing in pure AS3:
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.
pasensyoso_mani
09-14-2010, 05:59 AM
Thanks maaan...! I will test this when I get home.
Got a question. How am I going to render a textbox in the AdvancedDataGrid header or shall I say columngroup?
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.