PDA

View Full Version : [AS3] two datagrids one xml


armored
07-16-2008, 03:23 AM
Ive pulled my hair out trying to figure out how to do this but is there a way to populate 2 datagrids from one xml?

here is the code for just one datagrid i have figured out how how to get the second datagrid to get items2


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<items1>
<item1 c1="blah" c2="blah" />
<item1 c1="blah" c2="blah" />
</items1>
<items2>
<item2 c1="blah" c2="blah" />
<item2 c1="blah" c2="blah" />
</items2>



import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.containers.UILoader;
import fl.data.DataProvider;
import fl.events.*;
import flash.xml.*;

var myXML:XML;
var myList:XMLList;

function parseXML():void
{

var url:String = "xml/blah1.xml";
var urlRequest:URLRequest = new URLRequest(url);
var loader:URLLoader = new URLLoader();
loader.addEventListener("complete" , loadXML);
loader.load(urlRequest);
}

parseXML();

function loadXML(evt:Event):void
{
myXML = new XML(evt.target.data);
//trace(myXML.item);
myDP = new DataProvider(myXML);
var c1Col:DataGridColumn = new DataGridColumn("c1");
c1Col.headerText = "fooos";
c1Col.resizable = false;

var c2Col:DataGridColumn = new DataGridColumn("c2");
c2Col.headerText = "blah";
c2Col.resizable = false;

var myDP:DataProvider;
myDataGrid.dataProvider = myDP;
myDataGrid.columns = [c1Col, c2Col];
myDataGrid.width = 790;
myDataGrid.rowCount = myDataGrid.length;
}


i just want to do it this way so i dont have to keep copy and pasting the same code for each datagrid if i have 5 datagrids

Thank you for any help.