ivo knuit
%Europe/Berlin %942 %2006, 23:36
Hallo allemaal,
ik ben wat aan het stoeien met de Datagrid maar helaas niet zonder problemen.
Een XML bestand bestaat uit een aantal nodes en attributen die in een object array worden geplaatst. Dit array wordt naar mijn idee goed gevuld. Daarna probeer ik de resultaten te tonen met de Datagrid maar hij toont geen data. De DataGrid staat in m'n library gelinkt als "DataGrid" en onderstaande code staat op de eerste frame.
Iemand een idee?
Hier is de code:
var ActiviteitenArray:Array = new Array();
var aantal_activiteiten:Number;
var root:MovieClip = this;
// Create a new DataGrid component instance.
this.createClassObject(mx.controls.DataGrid, "MyDataGrid", 1);
//Define XML and build object array
myXML = new XML();
myXML.ignoreWhite = true;
myXML.onLoad = parse;
myXML.load("algemeen_activiteiten.xml");
function parse(success) {
if (success) {
var activiteit = this.firstChild.childNodes;
aantal_activiteiten = activiteit.length;
for (var i = 0; i<aantal_activiteiten; i++) {
if (activiteit != null) {
ActiviteitData = new Object;
ActiviteitData.datum = activiteit[i].attributes.datum;
ActiviteitData.naam = activiteit[i].attributes.naam;
ActiviteitData.plaats = activiteit[i].attributes.plaats;
ActiviteitData.tijd = activiteit[i].attributes.tijd;
ActiviteitData.organisatie = activiteit[i].attributes.organisatie;
ActiviteitenArray[i] = ActiviteitData;
trace(ActiviteitenArray[i].datum + " "+ ActiviteitenArray[i].naam + " "+ ActiviteitenArray[i].plaats + " "+ ActiviteitenArray[i].tijd + " "+ ActiviteitenArray[i].organisatie);
}//End if
}//End for
} else {
trace("Error loading XML file.");
}
};
// Assign the data provider to the DataGrid to populate it.
MyDataGrid.dataProvider = ActiviteitenArray;
/* Set some basic grid properties.
Note: The data grid's row height should reflect
the number of lines you expect to show in the MultiLineCell
cell renderer. The cell renderer wil size to the row height.
About 40 for 2 lines or 60 for 3 lines.*/
MyDataGrid.setSize(740,480);
MyDataGrid.move(283,0);
MyDataGrid.rowHeight = 40;
MyDataGrid.getColumnAt(0).width = 125;
MyDataGrid.getColumnAt(1).width = 240;
MyDataGrid.getColumnAt(2).width = 125;
MyDataGrid.getColumnAt(3).width = 125;
MyDataGrid.getColumnAt(4).width = 125;
MyDataGrid.resizableColumns = true;
MyDataGrid.vScrollPolicy = "auto";
//MyDataGrid.setStyle("backgroundColor", 0xD5D5FF);
En de XML:
<?xml version="1.0" ?>
<activiteiten>
<activiteit datum="21-05-2006" naam="Danexamentr. JJ" plaats="Made" tijd="10.00 – 12.00 uur" organisatie="JBN-ZN"/>
<activiteit datum="03-06-2006" naam="Danexamen judo" plaats="Gilze" tijd="17.00 – 22.00 uur" organisatie="JBN-ZN"/>
<activiteit datum="03-06-2005" naam="Danexamens Jiu-Jitsu"plaats="Made" tijd="17.00 – 22.00 uur" organisatie="JBN-ZN"/>
<activiteit datum="11-06-2006" naam="Budo Stage senioren" plaats="Gilze" tijd="10.00 – 13.00 uur" organisatie="JBN-ZN"/>
</activiteiten>
ik ben wat aan het stoeien met de Datagrid maar helaas niet zonder problemen.
Een XML bestand bestaat uit een aantal nodes en attributen die in een object array worden geplaatst. Dit array wordt naar mijn idee goed gevuld. Daarna probeer ik de resultaten te tonen met de Datagrid maar hij toont geen data. De DataGrid staat in m'n library gelinkt als "DataGrid" en onderstaande code staat op de eerste frame.
Iemand een idee?
Hier is de code:
var ActiviteitenArray:Array = new Array();
var aantal_activiteiten:Number;
var root:MovieClip = this;
// Create a new DataGrid component instance.
this.createClassObject(mx.controls.DataGrid, "MyDataGrid", 1);
//Define XML and build object array
myXML = new XML();
myXML.ignoreWhite = true;
myXML.onLoad = parse;
myXML.load("algemeen_activiteiten.xml");
function parse(success) {
if (success) {
var activiteit = this.firstChild.childNodes;
aantal_activiteiten = activiteit.length;
for (var i = 0; i<aantal_activiteiten; i++) {
if (activiteit != null) {
ActiviteitData = new Object;
ActiviteitData.datum = activiteit[i].attributes.datum;
ActiviteitData.naam = activiteit[i].attributes.naam;
ActiviteitData.plaats = activiteit[i].attributes.plaats;
ActiviteitData.tijd = activiteit[i].attributes.tijd;
ActiviteitData.organisatie = activiteit[i].attributes.organisatie;
ActiviteitenArray[i] = ActiviteitData;
trace(ActiviteitenArray[i].datum + " "+ ActiviteitenArray[i].naam + " "+ ActiviteitenArray[i].plaats + " "+ ActiviteitenArray[i].tijd + " "+ ActiviteitenArray[i].organisatie);
}//End if
}//End for
} else {
trace("Error loading XML file.");
}
};
// Assign the data provider to the DataGrid to populate it.
MyDataGrid.dataProvider = ActiviteitenArray;
/* Set some basic grid properties.
Note: The data grid's row height should reflect
the number of lines you expect to show in the MultiLineCell
cell renderer. The cell renderer wil size to the row height.
About 40 for 2 lines or 60 for 3 lines.*/
MyDataGrid.setSize(740,480);
MyDataGrid.move(283,0);
MyDataGrid.rowHeight = 40;
MyDataGrid.getColumnAt(0).width = 125;
MyDataGrid.getColumnAt(1).width = 240;
MyDataGrid.getColumnAt(2).width = 125;
MyDataGrid.getColumnAt(3).width = 125;
MyDataGrid.getColumnAt(4).width = 125;
MyDataGrid.resizableColumns = true;
MyDataGrid.vScrollPolicy = "auto";
//MyDataGrid.setStyle("backgroundColor", 0xD5D5FF);
En de XML:
<?xml version="1.0" ?>
<activiteiten>
<activiteit datum="21-05-2006" naam="Danexamentr. JJ" plaats="Made" tijd="10.00 – 12.00 uur" organisatie="JBN-ZN"/>
<activiteit datum="03-06-2006" naam="Danexamen judo" plaats="Gilze" tijd="17.00 – 22.00 uur" organisatie="JBN-ZN"/>
<activiteit datum="03-06-2005" naam="Danexamens Jiu-Jitsu"plaats="Made" tijd="17.00 – 22.00 uur" organisatie="JBN-ZN"/>
<activiteit datum="11-06-2006" naam="Budo Stage senioren" plaats="Gilze" tijd="10.00 – 13.00 uur" organisatie="JBN-ZN"/>
</activiteiten>