Liste de tous les noeuds d'un treeview (vb2005e)

Résolu
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 - 16 déc. 2006 à 15:43
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 - 16 déc. 2006 à 16:52
bonjour,

j'aimerai pouvoir récupérer la liste de tous les noeuds, sous-noeuds, sous-sous-noeuds, etc    d'un treeview ? sans biensur connaitre à l'avance la profondeur du treeview.
pas moyen de trouver de l'aide pour çà
c'est pour faire une recherche dans le nom d'un nom et donc le checker si on le trouve

merci de vos réponses

8 réponses

Utilisateur anonyme
16 déc. 2006 à 16:13
Salut,

youhou, petite fonction :


Private Function GetNode(ByVal Parent As System.Windows.Forms.TreeNodeCollection, _
 ByVal SearchName As String) As System.Windows.Forms.TreeNode
  Dim FoundNode As System.Windows.Forms.TreeNode = Nothing
  For Each ChildNode As System.Windows.Forms.TreeNode In Parent
    If ChildNode.Name.Equals(SearchName) Then Return ChildNode
    FoundNode = GetNode(ChildNode.Nodes, SearchName)
    If FoundNode IsNot Nothing Then Return FoundNode
  Next
  Return FoundNode
End Function,

----

(Coloration syntaxique automatique par Kenji)





__________
Kenji
3
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
16 déc. 2006 à 16:27
merci mais,

le paramètre suivant, je le récupère comment ?:


ByVal
 Parent As System.Windows.Forms.TreeNodeCollection

car si je passe la collectiondes nodes en paramètres, çà veut dire que je l'ai

?
non ?
0
Utilisateur anonyme
16 déc. 2006 à 16:29
Ben la collection de départ, tu l'as, c'est celle de ton TreeView. Toi tu cherche un item dans les sous-collections de cette collection.






__________
Kenji
0
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
16 déc. 2006 à 16:31
bah, je pige pas là

où je la trouve cette treenodecollection ?
du moins comment ?
mon premier noeud s'appelle invariablement "Entités"

merci de ton aide
0

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

Posez votre question
Utilisateur anonyme
16 déc. 2006 à 16:34
Alors c'est ce noeud la que tu met :
TonNeoudEntités.Nodes

Il faut savoir qua chaque node comprend une collection de nodes.





__________
Kenji
0
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
16 déc. 2006 à 16:44
ok,
bon je commence à piger
merci beaucoup de ton aide.
par contre, dans mon treeview, j'ai des nodes qui ont le même nom, et docn, çà me checke qu'un seul à l'aide de l'appel à ta fonction suivant:

Dim a
As TreeNode = GetNode(_nodebase.Nodes, chainederecherche)

If a
IsNot
Nothing
Thena.Checked =

True

End
If

encore un peu d'aide ? merci
0
Utilisateur anonyme
16 déc. 2006 à 16:51
Bon, ben nouvelle fonction :



Private Function GetNodes(ByVal Parent As System.Windows.Forms.TreeNodeCollection, _
 ByVal SearchName As String) As System.Collections.Generic.List(Of System.Windows.Forms.TreeNode)
  Dim FoundNode As New System.Collections.Generic.List(Of System.Windows.Forms.TreeNode)
  For Each ChildNode As System.Windows.Forms.TreeNode In Parent
    If ChildNode.Name.Equals(SearchName) Then FoundNode.Add(ChildNode)
    FoundNode.AddRange(GetNodes(ChildNode.Nodes, SearchName))
  Next
  Return FoundNode
End Function,

----

(Coloration syntaxique automatique par Kenji)



Elle retourne les nodes du nom spécifier




__________
Kenji
0
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
16 déc. 2006 à 16:52
désolé, j'ai trouvé

à remplacer dans ta fonction



If
FoundNode

IsNot



Nothing



Then



FoundNode.Checked =




True






End



If

merci beaucoup en tous cas
pas à dire, zet des pros !  :)
0
Rejoignez-nous