Flash AS3 external XML to DataGrid

Hi guys,
the problem is that I cant populate the DataGrid with the external XML file.
Creating both XML and DataGrid is no problem but cant figure out how to populate it … :frowning:
Here is part of the XML file

<?xml version="1.0" encoding="utf-8"?>
<movies>
	<movie>
		<number></number>
		<width></width>
		<title></title>
		<director></director>
		<star></star>
		<duration></duration>
		<genre></genre>
		<year></year>
		<rating></rating>
		<comment></comment>
	</movie>
</movies

and just the start of the AS3 code

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

var moviesXML:XML; 
var myList:XMLList; 
var dg:DataGrid;

dg = new DataGrid();
dg.addColumn("Num");
dg.addColumn("Title");
dg.addColumn("Director");
dg.addColumn("Star");
dg.addColumn("Duration");
dg.addColumn("Rating");
dg.addColumn("Comment");
dg.setSize(980,200);
dg.move(10,10);
dg.rowCount=10;
dg.columns[0].width=50;
dg.columns[1].width=200;
dg.columns[2].width=200;
dg.columns[3].width=200;
dg.columns[4].width=60;
dg.columns[5].width=50;
dg.columns[6].width=200;

dg.move(10,10);

addChild(dg);

hope someone can help as doing my head in lol

Cheers
Steven

Ok! Ok! Sort of got it but says 2 errors but isn’t any checked and checked loads and i’m stumped :frowning:
C:\xampp\htdocs\XMLDataGrid.as, Line 80, Column 46 1084: Syntax error: expecting rightparen before semicolon.
C:\xampp\htdocs\XMLDataGrid.as, Line 80, Column 51 1084: Syntax error: expecting semicolon before rightparen.
Weird how it comes out that way hmm!

stage.scaleMode = StageScaleMode.NO_SCALE;

stop();

/******** ! I M P O R T ! ********************************/

import com.greensock.*;
import com.greensock.easing.*;
import com.greensock.plugins.*;
import flash.display.StageScaleMode;
import flash.xml.*;
import fl.controls.TextInput;
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.controls.ScrollPolicy;
import fl.events.DataGridEvent;
import flash.text.TextField;
import flash.text.TextFormat;
import fl.controls.Button;

/******** ! A R R A Y S ! ********************************/

var movieNumber: Array = new Array();
var movieTitle: Array = new Array();
var movieDirector: Array = new Array();
var movieActor: Array = new Array();
var movieDuration: Array = new Array();
var movieRating: Array = new Array();
var movieGenre: Array = new Array();
var movieYear: Array = new Array();
var movieComment: Array = new Array();

/******** ! T E X T  F O R M A T ! ***********************/

var tf:TextFormat = new TextFormat();
tf.font = "Teen";
tf.size = 13;
tf.color = 0x999999;

var tf2:TextFormat = new TextFormat();
tf2.font = "Teen";
tf2.size = 13;
tf2.color = 0x777777;

var tf3:TextFormat = new TextFormat();
tf3.font = "Teen";
tf3.size = 13;
tf3.color = 0x999999;

/******** ! V A R I A B L E S ! **************************/

var xmlData:XML;
var tracksInDirectory:Number;
var xmlLoader:URLLoader = new URLLoader();

var dp:DataProvider = new DataProvider();

var A:DataGridColumn = new DataGridColumn("Number");
A.headerText = "NO.";
A.width = 50;
A.resizable = false;
A.cellRenderer = CenterAlignCell;

var B:DataGridColumn = new DataGridColumn("Title");
B.headerText = "TITLE";
B.width = 150;
B.resizable = false;
B.cellRenderer = MultiLineCell;

var C:DataGridColumn = new DataGridColumn("Director");
C.headerText = "DIRECTOR";
C.width = 150;
C.resizable = false;
C.cellRenderer = MultiLineCell;

var D:DataGridColumn = new DataGridColumn("Actor");
D.headerText = "ACTOR";
D.width = 150;
D.resizable = false;
D.cellRenderer = MultiLineCell;

var E:DataGridColumn = new DataGridColumn("Duration");
E.headerText = "DURATION";
E.width = 50;
E.resizable = false;
E.cellRenderer = CenterAlignCell;

var F:DataGridColumn = new DataGridColumn("Rating");
F.headerText = "RATING";
F.width = 50;
F.resizable = false;
F.cellRenderer = CenterAlignCell;

var G:DataGridColumn = new DataGridColumn("Genre");
G.headerText = "GENRE";
G.width = 150;
G.resizable = false;
G.cellRenderer = MultiLineCell;

var H:DataGridColumn = new DataGridColumn("Year");
H.headerText = "YEAR";
H.width = 50;
H.resizable = false;
H.cellRenderer = CenterAlignCell;

var J:DataGridColumn = new DataGridColumn("Comment");
J.headerText = "COMMENT";
J.width = 150;
J.resizable = false;
J.cellRenderer = MultiLineCell;

var dg:DataGrid = new DataGrid();

dg.addColumn(A);
dg.addColumn(B);
dg.addColumn(C);
dg.addColumn(D);
dg.addColumn(E);
dg.addColumn(F);
dg.addColumn(G);
dg.addColumn(H);
dg.addColumn(J);

dg.verticalScrollPolicy = ScrollPolicy.AUTO;
dg.setSize(980, 300);
dg.rowHeight = 40;
dg.move(10,10);

dg.dataProvider = dp;
dg.headerHeight = 30;
dg.setStyle("headerTextFormat", tf);
dg.setRendererStyle("textFormat", tf2);

stage.addChild(dg);

init();

/******** ! F U N C T I O N S ! **************************/

function init():void
{
	xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
	xmlLoader.load(new URLRequest("movieList.xml"));
}

/*********************************************************/

function LoadXML(e:Event):void
{
	xmlData = new XML(e.target.data);
	var movie_number:XMLList = xmlData..number;
	var movie_title:XMLList = xmlData..title;
	var movie_director:XMLList = xmlData..director;
	var movie_star:XMLList = xmlData..star;
	var movie_duration:XMLList = xmlData..duration;
	var movie_genre:XMLList = xmlData..genre;
	var movie_year:XMLList = xmlData..year;
	var movie_rating:XMLList = xmlData..rating;
	var movie_comment:XMLList = xmlData..comment;
	var len: int = xmlData.movie.length();
	var i: int = 0;
	for (i; i < len; i++)
	{
		movieNumber.push(movie_number[i]);
		movieTitle.push(movie_title[i]);
		movieDirector.push(movie_director[i]);
		movieActor.push(movie_star[i]);
		movieDuration.push(movie_duration[i]);
		movieRating.push(movie_genre[i]);
		movieGenre.push(movie_year[i]);
		movieYear.push(movie_rating[i]);
		movieComment.push(movie_comment[i]);
		
		popList(i);
	}
	tracksInDirectory = i+1;
}

/*********************************************************/

function popList(p:Number):void
{
	dg.dataProvider = dp;
	dp.addItem({
				Number:movieNumber[p+1],
				Title:movieTitle[p],
				Director:movieDirector[p],
				Actor:movieActor[p],
				Duration:movieDuration[p],
				Rating:movieRating[p],
				Genre:movie[p],
				Year:movieYear[p],
				Comment:movieComment[p]
				});
}

/*********************************************************/

I hope someone helps this time :slight_smile: