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

Signaler
Messages postés
6
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
9 février 2006
-
Messages postés
6
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
9 février 2006
-
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

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
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).

_
Messages postés
506
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
3 mars 2008
2
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
Messages postés
6
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
9 février 2006

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


...
Messages postés
6
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
9 février 2006

>> 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 !