Bonjour à tous, je débute en actionScript et je cherche en vain la manière de parcourir une comboBox, et de retourner pour chauque item, le libellé.
merci.Code:
1
2
3
4 for(i:int =0; <maCombo.numChildren, i++){ var labelle:String = maCombo ? }
Version imprimable
Bonjour à tous, je débute en actionScript et je cherche en vain la manière de parcourir une comboBox, et de retourner pour chauque item, le libellé.
merci.Code:
1
2
3
4 for(i:int =0; <maCombo.numChildren, i++){ var labelle:String = maCombo ? }
Bonjour,
Pour récupérer les objets contenus dans ta combox tu peux utiliser la propriété dataProvider. Ensuite à toi d'utiliser la bonne propriété pour chaque objet de ta liste pour récupérer les différents libellés.
Les deux devraient fonctionner mais attention si tu n'utilises pas la propriété label, n'oublie pas de le modifier.Code:
1
2
3
4
5
6
7 var list:ArrayCollection = myCombo.dataProvider as ArrayCollection; for(i:int =0; <list.length, i++){ var label:String = (list.getItemAt(i) as MonObjet).label as String; // TODO appeler la bonne propriété et caster avec le bon objet. // OU ALORS var label:String = list.getItemAt(i).label as String; }
Merci.
Une petite chose (je suis vraiment désolé de ne pas mieux comprendre!),
mais la propriété 'label' à quoi elle correspond?
... à ma valeur indiquée par la propriété labelField de ma combBox?
et rien à voire avec le xml?Citation:
<mx:ComboBox y="661" id="comboBureaux" prompt="Sélectionnez un bureau" dataProvider="{httpServicelisteBureau.lastResult.bureaux.bureau}" labelField="Libelle" change="changeDataEv(event);" width="160" horizontalCenter="-377"></mx:ComboBox>
Citation:
<bureau>
<Acces>election_bureau1.xml</Acces>
<Libelle>bureau 1</Libelle>
</bureau>
<bureau>
<Acces>election_bureau2.xml</Acces>
<Libelle>bureau 2</Libelle>
</bureau>
Cela correspond bien a Libelle.
[EDIT]
Pour du XML, il faudrait peut être utilisé XMLListCollection.
Malheureusement, je n'ai pas de compilateur MXML sous le coude, ça serait sympa de mettre le code qui marche pour les autres ;).
[/EDIT]
Merci, ça marche parfaitement:
Encore merci!Citation:
var label:String
var list:ArrayCollection = comboBureaux.dataProvider as ArrayCollection;
for(i = 0; i<list.length ; i++){
label = list.getItemAt(i).Libelle as String;
}