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 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
| import mx.controls.gridclasses.DataGridColumn;
import mx.xpath.XPathAPI;
import mx.styles.CSSStyleDeclaration;
var style:Object = {
alternatingRowColors : [0xFFFFFF, 0xECF2F8] ,
fontSize : 12 ,
vGridLines : false
}
function getCharAt(id:Number)
{
if (isNaN(id)) throw new Error("'id' not null or not undefined or not NaN") ;
var a:Number = 97 ; // code ascii de la lettre a
var z:Number = 122 ; // code ascii de la lettre z
var code:Number = a + (id-1) ;
code = Math.min( Math.max(a, code), z);
return String.fromCharCode(code) ;
}
function click(ev):Void {
var target = ev.target ;
var id = target.id ; // je récupère l'identifiant de mon bouton
var char:String = getCharAt(id) ;
trace (ev.type + " : " + ev.target + " >> " + char) ;
var chemin = "/racine/partenaire[@alpha='" + char + "']";
// test by ced
var data:Array = new Array(); // création du tableau data
//var personNoeud:Array = mx.xpath.XPathAPI.selectNodeList(x.firstChild,chemin);
var node:Array = mx.xpath.XPathAPI.selectNodeList(x.firstChild,chemin);
//var node:Array = personNoeud.childNodes ; // création du tableau ayant les noeuds
//trace(node);
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);
}
}
// test by ced fin
grid.dataProvider = data ; // injecter les données dans le modèle du tableau
grid.sortItemsBy("raison") ; // tu peux trier ton tableau directement
}
var nbts = 26 ;
for (var i:Number = 1 ; i<=26 ; i++) {
this["bt"+i].id = i ; // j'enregistre dans une variable id dynamique l'identifiant du bouton
this["bt"+i].addEventListener("click", this) ;
}
for (var prop:String in style)
{
grid.setStyle(prop, style[prop]) ; // je corrige le nom de l'occurence
}
// themeColor
grid.setStyle("themeColor", "haloBlue");
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);
}
}
/* definit le chemin*/
var chemin = "/racine/partenaire"
var personNoeud = mx.xpath.XPathAPI.selectNodeList(this.firstChild,chemin);
Remplir (personNoeud )
//
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"); |
Partager