0 Replies Latest reply: Jun 6, 2011 8:38 AM by cbabilotte RSS

    DataGrid Issue

    cbabilotte Community Member

      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

      datagrid.png

      Here is the xml file structure

       

      xmlstructure.png