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 -
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!!
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:
- HELP! manipulation d'un tree sous adob flex 3
- Family tree builder - Télécharger - Généalogie
- Ai suite 3 - Télécharger - Optimisation
- Picasa 3 - Télécharger - Albums photo
- Mode anti manipulation involontaire - Forum telephonie fixe
- Free flex refusé ✓ - Forum Free mobile
6 réponses
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 ;)
Pimp your Flex ;)
en fait selectedChild est de type Container .. j'ai essayer ceci :
myViewStack.selectedChild=Container(selectedNode.@id) ;
mais en vain!!
myViewStack.selectedChild=Container(selectedNode.@id) ;
mais en vain!!
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"...
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"...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question