1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
import mx.controls.gridclasses.DataGridColumn;
import mx.xpath.XPathAPI;
import mx.styles.CSSStyleDeclaration;
var style:Object = {
alternatingRowColors : [0xFFFFFF, 0xECF2F8] ,
fontSize : 12 ,
vGridLines : false
}
// !!! ici tu utilises pas le bon nom d'occurence !!!!
for (var prop:String in style) {
grid.setStyle(prop, style[prop]) ; // je corrige le nom de l'occurence
}
// themeColor
grid.setStyle("themeColor", "haloBlue");
// je pense que tu as pas compris l'intérêt du for..in
// fais en sorte de bien nommer tes champs de textes
// ainsi tu peux cibler dynamiquement tous les champs en fonction
// du contenu de ton modèle en 1 ligne
var cellPress = function( event ) {
var target = event.target ;
var index = target.selectedIndex ;
var item = target.getItemAt(index) ;
trace ("----- cellPress") ;
for (var prop in item) {
this["ta_" + prop].text = item[prop] || "non spécifié" ;
trace (prop + " : "+ item[prop]) ;
}
}
// la scène principale écoute l'événement cellPress
grid.addEventListener("cellPress", this) ;
var c1:DataGridColumn = new DataGridColumn("raison") ;
c1.headerText = "Société" ;
c1.width = 180 ;
grid.addColumn(c1) ;
var x = new XML(); //création de l'objet XML
x.ignoreWhite=true; //ignorer les sauts de ligne
x.onLoad = function(success) {
if (!success && this.status == 0) {
trace ("error !") ;
return ;
}
var data:Array = new Array(); // création du tableau data
var node:Array = this.firstChild.childNodes ; // création du tableau ayant les noeuds
var l:Number = node.length ; // longeur des noeuds du fichier xml
for (var i = 0; i < l ; i++)
{
var cur = node[i] ; // cur est la valeur courante de i
if (cur.nodeName == "partenaire")
{
var subNode:Array = cur.childNodes ;
var item = {} ;
item.index = cur.attributes.index ;
var k:Number = subNode.length ;
for (var j:Number = 0 ; j<k ; j++)
{
cur = subNode[j] ;
item[cur.nodeName] = cur.firstChild.nodeValue ;
}
data.push(item);
}
}
grid.dataProvider = data ; // injecter les données dans le modèle du tableau
grid.sortItemsBy("raison") ; // tu peux trier ton tableau directement
nb.text = x.firstChild.childNodes.length;
}
x.load("partenaire.xml"); |