2010-03-09 4 views
1

J'ai un contrôle d'arbre et je veux donner à l'utilisateur la possibilité de monter et descendre l'élément qu'il vient de sélectionner avec un bouton haut et un bouton bas. L'arbre est généré à partir de XML.flex: déplacer un élément dans un contrôle d'arbre

Je réussi à insérer l'élément sélectionné une deuxième fois à un autre endroit, avec le code suivant:

var parentXML:XML = XML(containerTree.selectedItem).parent(); 

var upperItem:XML = topContainer.source[containerTree.selectedIndex-1]; 

parentXML.insertChildBefore(upperItem,XML(containerTree.selectedItem)); 

mais je l'élément là deux fois dans la liste. Comment puis-je supprimer pour le réinsérer?

Merci pour les conseils! Markus

Répondre

1

Utilisez l'opérateur delete (XML)-remove XML nodes.

var parentXML:XML = XML(containerTree.selectedItem).parent(); 

var upperItem:XML = topContainer.source[containerTree.selectedIndex-1]; 

delete containerTree.selectedItem; 

parentXML.insertChildBefore(upperItem,XML(containerTree.selectedItem)); 
+0

Cela ne fonctionne pas, en supposant containerTree est une composante "Arbre": 1189: tentative de suppression du selectedItem propriété fixe. Seules les propriétés définies dynamiquement peuvent être supprimées. – Hamid

Questions connexes