Bonjour,
Je reviens avec mes problèmes mais là j'ai des incompréhension de logique de programmation avec Flex.
Mon problème est simple. J'ai un bouton qui permet de recharger mon XML issue d'une réponse serveur. Pour tester que ça fonctionne :
- Je clique, j'ai bien les données qui remonte dans ma Datagrid.
- Je change la valeur dans la base de données.
- Je teste sur une navigateur que la donnée dans le XML a bien changé.
- Je retourne dans l'application généré et je clique sur le bouton qui est censé recharger le XML. Bizarrement j'ai toujours le même appelle. Le XML ne bouge pas.
Il n'est pas possible de faire plusieurs appelle au HTTPService ?
En gros, je voudrais faire un refresh de mon XML.
Il y a quelqu'un qui a eu un peut prêt le même problème dans le forum mais il n'a pas été très claire sur la manière dont il a trouvé la solution.
De plus, comment faire pour vider un 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
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 <?xml version="1.0" encoding="utf-8"?> <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import mx.controls.List; import mx.collections.ArrayCollection; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.controls.Alert; public var _idWarehouse:String; public var params:Object = {}; //Accesseur pour le parametre idWarehouse public function set idWarehouse(p_idWarehouse:String):void{ this._idWarehouse = p_idWarehouse; } //Accesseur pour le parametre idWarehouse public function get idWarehouse():String{ return this._idWarehouse; } //Réception d'une reponse en XML et renvoyer au datagrid public function onSuccess(e:ResultEvent):void{ Alert.show(String(e.result)); DGWarehouse.dataProvider = XMLList(e.result).items.item; } //Problème de communication avec le serveur. public function onError(e:FaultEvent):void{ Alert.show(String(e.fault.faultDetail)); } //Fonction permettant d'envoyer uner requête au serveur. public function SendHTTP():void{ DGWarehouse.destroyItemEditor(); if(this.idWarehouse != null){ params["idwarehouse"] = this.idWarehouse; dataServiceWarehouse.send(params); }else{ dataServiceWarehouse.send(); } } ]]> </mx:Script> <mx:HTTPService id="dataServiceWarehouse" method="GET" url="http://127.0.0.1/zorha/Admin/scripts/php/test.php" useProxy="false" resultFormat="xml" result="onSuccess(event)" fault="onError(event)"/> <mx:DataGrid id="DGWarehouse" rowCount="10" creationComplete="SendHTTP()"> <mx:columns> <mx:DataGridColumn dataField="idwarehouse" headerText="idwarehouse" width="100"/> <mx:DataGridColumn dataField="warehouse" headerText="name" width="100"/> <mx:DataGridColumn dataField="description" headerText="description" width="100"/> </mx:columns> </mx:DataGrid> <mx:ControlBar> <mx:Button label="Create warehouse" id="crtWarehouse"/> <mx:Button label="Reload" click="SendHTTP()" id="rldWarehouse" /> </mx:ControlBar> </mx:Panel>
Merci.
Partager