Bonjour,
J'ai des données à entrer dans un DATAGRID provennant d'un fichier XML.
Voici la structure de mon fichier XML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?xml version="1.0" encoding="UTF-8"?> <racine> <dj> <pseudo>xxx</pseudo> <pays>belgique</pays> <ville>Verviers</ville> <genre>House</genre> <prenom>xxxx</prenom> <nom>xxxx</nom> <daten>01/01/1900</daten> <bio>xxx a débuté ...</bio> <email>xx@xxx.be</email> <web>www.xxx.be</web> <photo>02.jpg</photo> </dj> <dj> <pseudo>zzzz</pseudo> <pays>belgique</pays> <ville>Verviers</ville> <genre>Trance</genre> <prenom>zzzz</prenom> <nom>zzzz</nom> <daten>01/01/1900</daten> <bio>zzzza débuté ...</bio> <email>zz@zz.be</email> <web>www.zzz.be</web> <photo>68.jpg</photo> </dj> </racine>
Voici comment je charge mon DataGrid :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 on(release) { var valeur=0; x.load("dj.xml"); for (var i = 0; i < l ; i++) { var cur = node[i] ; if ( (cur.nodeName == "dj") && (rnom!="") && (rstyle!="") ) { 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 ; trace("Test : "+item[cur.nodeName]); if( (j==3) && (cur.firstChild.nodeValue==rstyle.text) ) { valeur=1; trace(cur.firstChild.nodeValue); } } if(valeur==1) { data.push(item); valeur=0; } } } grid.dataProvider = data ; grid.sortItemsBy("nom") ; nb.text = x.firstChild.childNodes.length; rnom=""; rstyle=""; }
Ca fonctionne, mais j'aimerais modifier la fonction ci dessus (que j'ai déja essayé d'adapter pour faire une "recherche") pour comparer les données du dataGrid.
En gros, au dessus de mon datagrid, j'ai 2 champs de recherche. 1 pour le Nom. 1 pour le Style musical joué.
Lorsque l'utilisateur cliques sur le bouton "OK", j'aimerais que n'apparaissent dans le DATAGRID que les enregistrements concernés !
Et pour ca, je compare les données injectées dans le datagrid.
Quelqu'un aurait une idée ? Car ca ne fonctionne pas quand je mets :
Sachant que J == 3 c'est le champs "genre" (donc le style musical) qui est sélectionné, et rstyle.text est mon composant "texte de saisie" appellé RSTYLE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if( (j==3) && (cur.firstChild.nodeValue==rstyle.text) ) { valeur=1; trace(cur.firstChild.nodeValue); }
Mon probleme : Il affiche toujours tous les enregistrements... Au lieu de n'afficher que les enregistrements désirés.![]()
Une idée ?








Répondre avec citation


Partager