ragouni
Messages postés1Date d'inscriptionsamedi 28 octobre 2006StatutMembreDernière intervention 3 août 2009
-
25 juil. 2009 à 11:33
phila38
Messages postés11Date d'inscriptionjeudi 23 juillet 2009StatutMembreDernière intervention25 juillet 2009
-
25 juil. 2009 à 14:05
bonjour,
J'ai une table avec les liens pere/fils et une autre avec des tous les noeuds existants dont certains possedent une caracteristique.Jaffiche ces table sous formec hierarchique dans un tree à partir d'une procédure récursive et je voudrais mettre a jour les caracteristique pour tous les noeuds de la meme branche(En auto car la table des noeuds contient 15000 lignes).
En général les familles ne dépassent pas une dizaine de noeuds.La caracteristique n'est pas forcement sur le premier noeud mais peut etre à n'importe quel niveau de l'arborescence
J'espere que j'ai été assez clair dans ma question!
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 juil. 2009 à 12:39
Salut
WoW, faut que je sorte le décrypteur, 30 sec ...
"noeuds dont certains possedent une caracteristique"
Ca veut dire quoi, programmatiqcalement parlant ?
"je voudrais mettre a jour les caracteristique"
C'est ça ta question ? parce que je n'en vois pas d'autre dans ton texte
"Mettre à jour"
Définition ? Mettre à jour les tables ou le TreeView ?
Bref, en supposant que tu connaisses le nom du noeud et que tu veuilles le retrouver/rechercher dans ton TreeView, il te suffit de faire une boucle de recherche du genre
For Each monNoeud As TreeNode In monTreeView.Nodes
If monNoeud.Text = "le noeud que je cherche" Then
' Ici, ce que tu veux faire sur ce noeud
' puis tu peux sortir de la recherche :
Exit For
End If
Next
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
phila38
Messages postés11Date d'inscriptionjeudi 23 juillet 2009StatutMembreDernière intervention25 juillet 2009 25 juil. 2009 à 14:05
Bonjour,
Pour modifier une branche, une procédure récursive ce genre doit faire l'affaire :
Private sub ModifyBranch(ByVal aRootNode As TreeNode, ByVal maPropriete As Color) As String
If Not aRootNode Is Nothing Then
' modifier la propriété ici (dans cet exemple, la couleur)
aRootNode.ForeColor = maPropriete
Dim aNode As TreeNode
For Each aNode In aRootNode.Nodes
ModifyBranch(aNode, maPropriete)
Next aNode
End If
End Sub