You are great....
Thanks man, it works like a charm :)

--- In flexcoders@yahoogroups.com, "bhaq1972" <mbha...@...> wrote:
>
> Hi jo
> 
> I've had a little play around with what you gave and came up with 
the 
> following example. Let us know if this is what you want.
> 
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";>
>   <mx:Script>
>   <![CDATA[
>  import mx.controls.dataGridClasses.DataGridColumn;
>  import mx.collections.ArrayCollection;
>  import mx.collections.IList;
>                       
>   public function startUP():void
>   {
>     var myObject:Object = {0:"0", 1:"1", 2:"2"}
>                               
>     var columns:ArrayCollection = new ArrayCollection();
>     columns.addItem("parent");
>     columns.addItem("cell1");
>     columns.addItem("cell2");
>     columns.addItem("dummy");
>                               
>     //create columns  
>     var colArray1:Array = [];
>     for(var i:int=0;i<columns.length;i++)
>     {
>       var dgCol:DataGridColumn = new DataGridColumn();
>       dgCol.dataField = columns[i];
>       colArray1.push(dgCol);
>     }
>                               
>     dg.columns = colArray1;                   
>                                                               
>     //let say 3 rows:
>     var data_:ArrayCollection = new ArrayCollection;
>     var rowData_:Map;
>                               
>     rowData_ = new Map();
>     rowData_.put(columns[0],"root1");
>     rowData_.put(columns[1],55);
>     rowData_.put(columns[2],100);
>     rowData_.put(columns[3],myObject[0]);
>     data_.addItem(rowData_);
>               
>     rowData_ = new Map();
>     rowData_.put(columns[0],"root1");
>     rowData_.put(columns[1],34);
>     rowData_.put(columns[2],10);
>     rowData_.put(columns[3],myObject[1]);
>     data_.addItem(rowData_);
>                       
>     rowData_ = new Map();
>     rowData_.put(columns[0],"root1");
>     rowData_.put(columns[1],6);
>     rowData_.put(columns[2],60);
>     rowData_.put(columns[3],myObject[2]);
>     data_.addItem(rowData_);
> 
>     // set dg dataProvider
>     var dp1:Array = [];
>     var obj1:Object;
>                               
>     for(var j:int=0;j<data_.length;j++)
>     {
>       var map:Map = data_.getItemAt(j) as Map;
>       var meme:Object;
>       obj1 = {};
>                                       
>       for(var k:int=0;k<dg.columnCount;k++)
>       {
>       meme = dg.columns[k].dataField;                         
        
>       obj1[meme.valueOf()] = map.getValueAt(k);
>       }
>                                                               
                                                
>       dp1.push(obj1);
>     }
>                               
>     dg.dataProvider = dp1;
> }
> ]]>
> </mx:Script>
> <mx:DataGrid id="dg" initialize="startUP()"/>
> </mx:Application>
>


Reply via email to