Hi,
I am trying to create a datagrid on the fly and I am encountering an issue trying to display the row data. It appears the the data shows only the last entry from the xml file. I am not sure what I am doing wrong. Below is the code I am using and screenshots of the output and the input data.
//add a listener for the complete event
function onDataLoad(evt:Event){
var myData:XML = new XML(evt.target.data);
var myDataGrid:DataGrid = new DataGrid();
var myDataGridHeader:Array = new Array();
for each (var item:XML in myData.row[0].children())
{
trace("Col: "+item.name());
myDataGridHeader.push(item.name());
var col:DataGridColumn = new DataGridColumn (item.name());
myDataGrid.addColumn(col);
}
myDataGrid.width = 700;
myDataGrid.height= 200;
myDataGrid.move(190, 150);
addChild(myDataGrid);
var rowList:XMLList = myData..row;
var rowLen:int = rowList.length();
var HeadLen:int = myDataGridHeader.length;
var item_obj:Object = new Object();
for (var i:int=0; i<rowLen; i++)
{
trace(rowList[i]);
for (var j:int=0; j<HeadLen; j++)
{
trace("i= "+i+" j= "+j+" -- "+myDataGridHeader[j]+" -- "+rowList[i].children()[j]);
var temp:String = rowList[i].children()[j];
item_obj[myDataGridHeader[j]] = rowList[i].children()[j];
myDataGrid.addItem(item_obj);
}
trace("------------------------------------------");
}
removeEventListener(Event.COMPLETE, onDataLoad);
}
Here is the output of the datagrid
Here is the xml file structure