Salut tout le monde,
Pouvez vous m'indiquer comment extraire le text du noeud selectionné d'un objet Tree?
Merci d'avance.
Version imprimable
Salut tout le monde,
Pouvez vous m'indiquer comment extraire le text du noeud selectionné d'un objet Tree?
Merci d'avance.
Par exemple, dans le Tree : il faut ajouter :
et voici la définition de cette fonction :Code:itemClick="onTreeClick(event)"
Il faut l'adapter selon le type des objets du TreeCode:
1
2
3
4 private function onTreeClick(e:Event):void{ var mySelectedObject:Object = Tree(e.currentTarget).selectedItem; }
Merci pour la réponse,
Quand j'ai essayé le code que tu m'as proposé j'ai reçu le message d'erreur suivant:
J'aimerais aussi savoir comment préciser le type des objets du Tree.Code:
1
2 TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
Merci encore!
Après quelques manipulation je reçois plus le message d'erreur précédent mais quand j'essai de récupérer la valeur du text dans la variable maChaine comme suit:
la valeur que je récupère est: [Object Object], je me demande comment serait possible de règler çaCode:
1
2
3
4
5 public function onTreeClick(e: Event):void{ var mySelectedObject:Object = Tree(e.currentTarget).selectedItem; maChaine = mySelectedObject.toString(); }
Parce que tu récupère un objet qui ne peut pas être transformé en String
Les objets qui sont dans le Tree sont de quel type? quel sont leurs propretés?
Qu'est ce qu'il y a dans le dataProvider de ton Tree?
voici la fonction avec laquelle j'alimente mon Tree:
Code:
1
2
3
4
5
6
7
8
9
10
11 public function listEntites():void{ var array:Array = new Array({label:"Risque", children: new Array({label:"Marché", children: new Array({label:"test"})}, {label:"Opérationnel"})}, {label:"DRT", children: new Array({label:"Architecture"})}); var collection:ArrayCollection = new ArrayCollection(array); tview.vo.listEntite= collection; }
C'est la première fois que je travail avec un Tree donc je me demande comment je peux préciser le type de ses objets.Code:
1
2 <mx:Tree width="100%" height="100%" id="treeEntiteAffectation" dataProvider="{vo.listEntite}" labelField="label" textAlign="left" fontSize="9" itemClick="controller.onTreeClick(event)" dataTipField="String"></mx:Tree>
Merci encore pour ton aide
J'ai trouvé la solution, voici ce qu'il faut faire:
Partie mxml:
Partie ActionScript:Code:
1
2 <mx:Tree width="100%" height="100%" id="monTree" dataProvider="{vo.listEntite}" labelField="label" itemClick="{onTreeClick()}"></mx:Tree>
Ainsi le text du noeud selectionné est récupéré dans maChaine.Code:
1
2
3
4 public function onTreeClick():void{ var maChaine = monTree.selectedItem.label; }
normalement cela te donnera : Marché, Opérationnel ou DRTCode:maChaine = mySelectedObject.label.toString();
Est ce que t'arrive à accéder à vo.listEntite sans mettre tview au début? sauf s'il y a de code intermédiaire
Oui il y'a un code intermédiaire, ce qu'il fallait ajouté dans les deux solutions est label afin que ça marche, merci pour ton aide :-o