Bonjour à tous,
j'me pose la question suivante :
je dialogue avec une base MySQL via ASSQL,
dans mon formulaire principal, il y a plusieurs combos dont les valeurs sont des données de ma base,
je souhaiterais faire une combo.mxml "générique", càd à laquelle je passe ma requête en paramètre ce que je n 'arrive pas à faire,
je sais créer plusieurs combo.mxml (combo1.mxml, combo2.mxml, combo3.mxml, ...) mais je duplique le code en ne changeant que la requête (bref c'est moche),
code du fichier "initCombo.mxml" :
en fait j'aurai voulu pouvoir appeler
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 <mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:assql="com.maclema.mysql.mxml.*" dataProvider="{service.lastResult}"> <mx:id>CBTest</mx:id> <mx:Script> <![CDATA[ import mx.controls.Alert; import com.maclema.mysql.events.MySqlErrorEvent; import com.maclema.util.ResultsUtil; private var strQuery:*; public function initStrQuery(strInit:String):void{ strQuery = new String(strInit); } private function handleConnected(e:Event):void { initStrQuery("SELECT DISTINCT Libelle FROM entite"); service.send(strQuery); } private function handleError(e:MySqlErrorEvent):void { Alert.show(e.text); } ]]> </mx:Script> <assql:MySqlService id="service" hostname="localhost" username="root" password="" database="test_db" autoConnect="true" connect="handleConnected(event)" sqlError="handleError(event)" /> </mx:ComboBox>depuis ma combo dans le main.mxml mais je sais pas faire, pour l'instant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part iniStrQuery(<ma requete SQL>)
(ca marche)
Code : Sélectionner tout - Visualiser dans une fenêtre à part <local:initCombo labelField="Libelle" />
je voudrais pouvoir faire :
et ca j'arrive pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part <local:initCombo labelField="Libelle" iniStrQuery = "SELECT Machin FROM Bidule"/>
je sais pas si je suis clair (... mais j'ai essayé), merci de ne pas m'accabler si c'est le cas
Partager