HELP! manipulation d'un tree sous adob flex 3

Résolu
Tamooora Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
dans mon programme j'essaie de contrôler un Viewstack a partir d'un tree..

ici une partie du code de mon tree :
-----------------------------------------------------------------------------------------------------------------------
<mx:XMLList id="treeData">
<node label="eTOM Box">
<node label="Strategy Infrastructure and Product" id="1">
<node label="Strategy and Commit" id="sc">
</node>
.....

<mx:Tree id="myTree" width="50%" height="100%" labelField="@label"
showRoot="false" dataProvider="{treeData}" change="treeChanged(event)"/>
-----------------------------------------------------------------------------------------------------------------------

ici la définition de la methode treechanged() :

-----------------------------------------------------------------------------------------------------------------------
<mx:Script>
<![CDATA[
import mx.controls.Label;
import mx.controls.Alert;
import mx.core.Container;

[Bindable]
public var selectedNode:XML;

// Event handler for the Tree control change event.
public function treeChanged(event:Event):void {
selectedNode=Tree(event.target).selectedItem as XML;
Alert.show(selectedNode.@id);
myViewStack.selectedChild=selectedNode.@id ;
}
]]>
-----------------------------------------------------------------------------------------------------------------------

le probleme c'est que la methode alert.show() fonctionne (elle affiche le id du node séléctionné) mais le viewstack (myViewStack.selectedChild) ne fonctionne pas.. il ne change pas lors du click!!
et lorsque je tape ce ligne :
-----------------------------------------------------------------------------------------------------------------------
myViewStack.selectedChild=sc ; // sc est un id d'un node
-----------------------------------------------------------------------------------------------------------------------

il fonctionne bien !

alors je comprend pas .. veuillez m'aider svp!!
A voir également:

6 réponses

Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
T'as pas un probleme de typage ? Car la tu veux mettre dans un "Object"(selectedChild) une valeur numérique qui n'est pas un Object (ton identifiant) donc je pense que si tu fais un alert.show(selectedNode.@id as Object) tu devrais voir le soucis..

Pimp your Flex ;)
0
Tamooora Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
en fait selectedChild est de type Container .. j'ai essayer ceci :

myViewStack.selectedChild=Container(selectedNode.@id) ;

mais en vain!!
0
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
En fait selectedChild est de type Container ..
Je fais ça de tête dans doc...

Normal il faut lui assigner une instance d'objet de type Container car quand tu cast Container(selectedNode.@id) je pense que si tu le trace tu verra que sa valeur est "null".
La tu ne lui passe pas un objet comme quand tu fais myViewStack.selectedChild=sc ; // sc est un id d'un node
La c'est un objet qu'il faut lui placer c'est pas comme si tu lui donnais genre un "selectedIndex"...
0
Tamooora Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
alors tu me propose d'utiliser selectedIndex ? .. j'ai pas bien compris ta réponse :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tamooora Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
ah ok !! j'ai utilisé selectedIndex et ça marche ! enfin !! merci bq :)
0
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
Foilà m'sieur ;)
You've got to pimp my flexxxxxxxx...
0