Bonjour,
Voici les éléments à partir desquels je code mon appli.:
j'ai un 1er fichier
siteslist.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <SITES> <ITEM><NAME>usine1</NAME><CODE>USN1</CODE></ITEM> <ITEM><NAME>depot1</NAME><CODE>DEP1</CODE></ITEM> <ITEM><NAME>usine2</NAME><CODE>USN2</CODE></ITEM> </SITES>
et un 2nd fichier
resourceslist.xml
La logique de l'interface utilisateur (UI) est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <USN1> <ITEM><NAME>resource1</NAME><CODE>RES1</CODE></ITEM> <ITEM><NAME>resource2</NAME><CODE>RES2</CODE></ITEM> <ITEM><NAME>resource3</NAME><CODE>RES3</CODE></ITEM> </USN1> <USN3> <ITEM><NAME>machine1</NAME><CODE>MCH1</CODE></ITEM> <ITEM><NAME>machine2</NAME><CODE>MCH2</CODE></ITEM> <ITEM><NAME>machine3</NAME><CODE>MCH3</CODE></ITEM> <ITEM><NAME>machine4</NAME><CODE>MCH4</CODE></ITEM> </USN3>
l'utilisateur sélectionne une valeur dans la ComboBox1
ComboBox1 (sites):
et selon l'option sélectionnée et donc la valeur renvoyée il aura une
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <option value="USN1">usine1</option> <option value="DEP1">depot1</option> <option value="USN2">usine2</option>
ComboBox2 (resources) qui affichera, soit:
1er cas de figure
si usine1 est sélectionnée donc la valeur USN1 renvoyée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <option value="RES1">resource1</option> <option value="RES2">resource2</option> <option value="RES3">resource3</option>
2eme cas de figure
rien si depot1 est sélectionnée
3eme cas de figure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <option value="MCH1">machine1</option> <option value="MCH2">machine2</option> <option value="MCH3">machine3</option> <option value="MCH4">machine4</option>
Dans mon code Actionscript:
Le problème est le suivant:
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
44
45
46
47
48
49
50 <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#000000" creationComplete="init()"> <mx:XML id="siteslist" source="./assets/siteslist.xml" /> <mx:XML id="resourceslist" source="./assets/resourceslist.xml" /> <mx:Script> <![CDATA[ ... // Manage resources dropdown display private var selectedsite:String = new String('FR'); private function onChangeSite(event:Event):void{ selectedsite = sites.selectedItem.code; populateResourceList(); } [Bindable] private var arr_resource:Array = new Array(); private var _resources:ArrayCollection = new ArrayCollection(); private function populateResourceList():void{ if(selectedsite=='USN1'||selectedsite=='USN2') { resources.visible = true; for each(var node:XML in resourceslist..selectedsite.ITEM) { arr_resource.push({label:node.NAME, code:node.CODE}); } _resources.source = arr_state; } else { resources.visible = false; } ]]> </mx:Script> ... <mx:ComboBox id="sites" dataProvider="{_sites}" close="onChangeSite(event);"/> <mx:ComboBox id="resources" dataProvider="{_resources}" close="onChangeSite(event);" visible="false"/> ... </mx:Application>
j'aimerais utiliser la valeur renvoyée par la ComboBox1 pour définir le noeud dans lequel je vais chercher les options (dans resourceslist.xml) de la ComboBox2.
Seulementne marche pas. Si je teste en mettant une valeur directement du type
Code : Sélectionner tout - Visualiser dans une fenêtre à part resourceslist..selectedsite.ITEM, par exemple cela marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part resourceslist..USN1.ITEM
Comment convertir donc la valeur de 'selectedsite' en format acceptable dans la condition de la boucle 'for each' ?
Est-ce que quelqu'un pourrait m'aider s'il vous plaît ?
Merci
Partager