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.
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.