Réinitialiser un treeview en gardant le node déjà selectionné actif

liandri Messages postés 6 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 9 février 2006 - 8 févr. 2006 à 20:48
liandri Messages postés 6 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 9 février 2006 - 9 févr. 2006 à 09:50
Bonjour, j'ai un treeview qui fonctionne parfaitement
Sauf que je dois maintenant passer à l'étape au dessus : celui de rafraichir le treeview et de garder le node selectionné. Bref faire une réinitialisation

+ parent1
+ child1.1
+ child1.2
+ parent2
+ child2.1
+ child2.2 < Selectionné
+ child2.3
+ child2.4

Si je fais un bouton rafraichir, je veux qu'il me reconstruise l'arbre mais en gardant child2.2 selectionné
Ceci me permettra par exemple de pouvoir changer le nom des "child" provenant de ma bdd externe, puis d'avoir le changement sur l'arbre sans avoir à renaviguer dedans !

Quelqu'un as-t il une solution SVP

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
8 févr. 2006 à 20:55
Stocke l'item sélectionné, reconstruit ton treeview, puis resélectionne l'item correspondant à celui qui était sélectionné (en te basant sur le texte de celui-ci par exemple).

_
0
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
8 févr. 2006 à 20:56
tu te fais un procédure permettant de retourner le chemin du node en prenant en parametre le node en question.
TU stock le chemin du node avant de rafraichir et en rafraichissant, tu compares a chaque fois le chein du node que tu es en train d'ajouter à celui que tu as stocké.

Rollerman
0
liandri Messages postés 6 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 9 février 2006
8 févr. 2006 à 21:46
bah c'est justement la fase de la selection de l'item !

En clair :

OK pour moi -> mon treeview est chargé un première fois par

Dim Classe_Node As TreeNode


TreeView1.BeginUpdate()
TreeView1.Nodes.Clear()

Classe_Node = TreeView1.Nodes.Add("Parent1", "Parent1", 1, 1)
Classe_Node.Nodes.Add("Child1.1", "Child1.1", 2, 2)
Classe_Node.Nodes.Add("Child1.2", "Child1.2", 2, 2)
Classe_Node = TreeView1.Nodes.Add("Parent2", "Parent2", 1, 1)
Classe_Node.Nodes.Add("Child2.1", "Child2.1", 2, 2)
Classe_Node.Nodes.Add("Child2.2", "Child2.2", 2, 2)
Classe_Node.Nodes.Add("Child2.3", "Child2.3", 2, 2)

TreeView1.EndUpdate()

OK pour moi -> je selectionne un item (node) au hasard, exemple child2.2



OK pour moi -> je recupère la 'key' que j'ai moi même attribué par :

Public selectionNode As String = TreeView1.SelectedNode.Name

PAS OK pour moi -> Savoir selectionner un item ou node par son SelectedNode.Name


...
0
liandri Messages postés 6 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 9 février 2006
9 févr. 2006 à 09:50
>> tu compares a chaque fois le chein du node que tu es en train d'ajouter à celui que tu as stocké.
ça je suis en mesure de le faire ! en revanche c'est la fonction selection par code que je trouve pas ! je vois pas comment le réactiver ou plutot le reselectionner !
0
Rejoignez-nous