Bon, toujours aussi debutant, je cherche à creer une application sous Flex, qui affiche les infos sur des utilisateurs, et où je puisse faire un tri des utilisateurs à afficher selon qu'ils soient "M / Mme /Mlle"
Les utilisateurs sont declarés dans un fichier xml du nom "Contact.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
30
31
32
33
34
35
36
37
38
39 <?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>Utilisateurs</title> <contacts> <item> <name>Grey</name> <firstName>Meredith</firstName> <status>Mlle</status> <age>30</age> </item> <item> <name>Pitt</name> <firstName>Brad</firstName> <status>M</status> <age>42</age> </item> <item> <name>Bourdais</name> <firstName>Sebastien</firstName> <status>M</status> <age>28</age> </item> <item> <name>Grey</name> <firstName>Liz</firstName> <status>Mme</status> <age>58</age> </item> <item> <name>Clegg</name> <firstName>Antoine</firstName> <status>M</status> <age>21</age> </item> </contacts> </channel> </rss>
Mon fichier ".mxml" se nomme "Flex1.mxml"
Enfin mon fichier ActionScript (Contact.as) avec l'import du 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
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" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="findContact.send()" layout="absolute" xmlns:fme="contact.*"> <mx:HTTPService id="findContact" url="C:\Etu\Flex1\Contact.xml" useProxy="false" /> <fme:Contact id="ctact"/> <mx:Panel x="10" y="10" width="475" height="400" layout="absolute" title="{findContact.lastResult.rss.channel.title}"> <mx:ComboBox x="30" y="25" id="cbxNumPosts" change="ctact.sort()"> <mx:Object label="Monsieur" data="M" /> <mx:Object label="Madame" data="Mme" /> <mx:Object label="Mademoiselle" data="Mlle" /> </mx:ComboBox> <mx:DataGrid id="dgPosts" x="20" y="60" width="400" dataProvider="{findContact.lastResult.rss.channel.contacts.item}"> <mx:columns> <mx:DataGridColumn headerText="Status" dataField="status"/> <mx:DataGridColumn headerText="Nom" dataField="name" /> <mx:DataGridColumn headerText="Prenom" dataField="firstName" width="150" /> </mx:columns> </mx:DataGrid> </mx:Panel> <mx:Panel x="480" y="10" width="300" height="400" layout="absolute" title="Information Utilisateur"> <mx:TextArea x="49" y="10" width="100" htmlText="{dgPosts.selectedItem.name}" height="26" borderStyle="none"/> <mx:TextArea x="67" y="44" width="100" htmlText="{dgPosts.selectedItem.firstName}" height="26" borderStyle="none"/> <mx:TextArea x="208" y="45" width="62" htmlText="{dgPosts.selectedItem.age}" height="24" borderStyle="none"/> <mx:Label x="10" y="10" text="Nom :" height="26" fontFamily="Arial" color="#004080"/> <mx:Label x="10" y="44" text="Prénom :" height="26" width="49" fontFamily="Arial" color="#004080"/> <mx:Label x="175" y="46" text="Age :" height="26" color="#004080" fontFamily="Arial"/> <mx:Image source="file:///C|/Etu/Flex1/assets/avatar1.jpg" x="10" y="78"/> </mx:Panel> </mx:Application>
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
51 package contact { import flash.display.Loader; import flash.display.LoaderInfo; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.ProgressEvent; import flash.net.URLLoader; import flash.net.URLLoaderDataFormat; import flash.net.URLRequest; import mx.controls.Alert; public class Contact { var chargeur:URLLoader = new URLLoader(); var adresse:URLRequest = new URLRequest("Contact.xml"); var format = URLLoaderDataFormat.TEXT; chargeur.dataFormat = format; chargeur.load(adresse); chargeur.addEventListener(Event.COMPLETE,finDuChargement); chargeur.addEventListener(ProgressEvent.PROGRESS,avancement); chargeur.addEventListener(IOErrorEvent.IO_ERROR,indiqueErreur); function finDuChargement (event:Event) { var contenu = event.target.item.status; trace ("chargement finit !" + contenu); } function avancement (event:Event) { trace(event.bytesLoaded+"chargés sur"+event.bytesTotal); } function indiqueErreur (event:Event) { trace(event); } public function sort() { } } }
Comme je le dis, je suis debutant en ASC, je voudrais savoir si c'est le bon principe pour importer mes données <status> de mon fichier XML.
Merci pour votre aide.
Partager