J'ai l'intention de créer une arborescence d'objets, qui dériveraient tous d'un objet de type Accordion "accdCategories" : en l'occurence des objets VBox qui intégreront chacun un objet Accordion, qui intégrera plusieurs objets de type VBox. Voici le premier objet en mxml :
Pour le script, je créé dynamiquement mes objets, j'instancie l'objet "obj" qui sera le descendant de "accdCategories", mais ni le type DisplayObject, ni le type VBox ne permettent de faire fonctionner ce mécanisme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <mx:Accordion id="accdContacts" width="100%" height="100%"> <mx:VBox label="Par catégories" width="100%" height="100%"> <mx:Accordion id="accdCategories" width="100%" height="100%" backgroundColor="#AACEB0" color="#0F1355"> </mx:Accordion> </mx:VBox> <mx:VBox label="Par noms" width="100%" height="100%"> </mx:VBox> </mx:Accordion>
Je ne suis pas sur de devoir utiliser Display Object, est-ce le bon chemin ?
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 public function chargerAccordion():void{ var result:SQLResult = [ requete de mes données ] accdContacts.removeAllChildren(); var i:Number=0; for each(var elt:Object in result.data) { // Composition des item vBox dans accdContacts : i++; var container:VBox = new VBox(); container.label = elt.titre+" - "+elt.description; container.id = "vbCategorie+"+i; accdCategories.addChild(container); // Ici, pas de problème l'élément Vbox est bien créé var result2:SQLResult = [ requete de mes données ] var j:Number=0; for each(var elt:Object2 in result2.data) { var container2:Accordion = new Accordion(); container2.label = "Les auteurs :"; container2.id = "vbCategorie1Auteur"+j; container2.addEventListener(MouseEvent.CLICK,pushData); var obj2:DisplayObject=accdCategories.getChildAt(i); obj2.addChild(container2); // Ici une erreur survient } } }
Partager