begin process at 2012 02 16 14:35:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Passer en revu TOUS les nodes d'un tree


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Passer en revu TOUS les nodes d'un tree

mercredi 14 mars 2007 à 12:05:34 | Passer en revu TOUS les nodes d'un tree

Papin38

Bonjour à tous,

Je débute en .NET et je cale sur un petit problème de tree

En VB6 quand on faisait :
For Each Nod In Tree.Nodes
   ...
Next
On passait en revue la totalité des nodes du tree, quelque soit la profondeur de l'arborescence.
Sur .NET on obtient que les enfants proches.

J'ai essayé avec les 'énumérateur' mais le résultat est le même !

Je suis persuadé qu'il doit exister une solution simple.

Un grand merci à celui ou celle qui me renseignera.
mercredi 14 mars 2007 à 15:12:43 | Re : Passer en revu TOUS les nodes d'un tree

mrdep1978

Réponse acceptée !

Salut,

Je n'ai pas trouvé de solution "simple".
Pour avoir tous les noeuds, il faut faire un traitement récursif, de façon à ramener pour chaque noeud, la totalité de ses noeuds fils

Ci dessous :
- une procédure permettant de ramener tous les noeuds fils d'un noeud,
- une fonction appelant la procédure précédente et renvoyant ainsi la totalité des noeuds passés en paramètre
- un exemple d'utilisation.


Private
Sub lsub_GetNodes(ByVal a_Node As TreeNode, ByVal a_Collection As Collection)

'Recherche les noeuds fils du noeud passé en paramètre et les ajoute à la collection a_Collection

Dim l_Node As TreeNode

 

'Parcourt les noeuds fils

For Each l_Node In a_Node.Nodes

'Ajoute le noeud à la collection

a_Collection.Add(l_Node)

'Recherche les noeuds inférieurs

lsub_GetNodes(l_Node, a_Collection)

Next

End Sub

 

Private Function lfct_GetTreeViewNodes(ByVal a_Treeview As TreeView) As Collection

'Renvoie, sous forme d'une collection, la liste des noeuds du treeview

Dim l_Node As TreeNode

Dim l_Coll AsNew Collection

'Parcourt les noeuds "Pères" du treeview

For Each l_Node In a_Treeview.Nodes

'Ajoute ces noeuds à la collection

l_Coll.Add(l_Node)

'Recherche les noeuds fils de l_Node

lsub_GetNodes(l_Node, l_Coll)

Next l_Node

 

'Renvoie la collection de noeuds

lfct_GetTreeViewNodes = l_Coll

End Function


Utilisation : 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim l_Node As TreeNode

For Each l_Node In lfct_GetTreeViewNodes(TreeView1)

ListBox1.Items.Add(l_Node.Text)

Next

End Sub

mercredi 14 mars 2007 à 15:55:35 | Re : Passer en revu TOUS les nodes d'un tree

Papin38

Merci à toi mrdep1978 pour ta réponse et ton code en exemple.

J'avais espéré pouvoir éviter la récursivité. Mais .NET ne peut pas avoir que des avantages... !



Cette discussion est classée dans : net, passer, nodes, tree, revu


Répondre à ce message

Sujets en rapport avec ce message

Je viens de passer a VB.NET... [ par pingwee ] Je viens de passer a VB.NET et je vient de découvrir que les index ne sont plus supportés !Je les ai remplcé par des collections, mais il n'est plus p .NET: Comment passer un paramètre à l'ouverture d'un formulaire [ par wico2002 ] Bonjour, En .NET :J'aimerais savoir comment faire pour passer un paramètre à un formulaire qu'on ouvre avec .ShowDialog() ?Dans une fenêtre j'ai une De VB6 à VB.NET [ par psykocrash ] Bonjour,Je programme depuis environ 6 ans en vb6 et j'hésite à passer au vb.net. Est ce difficile de passer de l'un à l'autre ? Quelles sont les modif Passer une requete a un crystal report en .Net [ par chris81 ] bonjour,savez comment il faut faire pour envoyer une requete sql sous .net a un rapport fait avec crystal report?merci Comment faire passer des info de form en form en VB.NET ? [ par Turakam ] Salut a tous, Ma question est tres con :)Comment faire passer des info de form en form en VB.NET ?Exemple : J'ai 2 form, une avec une textbox (la form passer d une fenetre a une autre [ par eviljojo22 ] je suis un newbie ds le vb mais j ai bcp de base avec le cracking je voudrai savoir comment en cliquant sur le bouton d une fenetre on peut acceder a [.net] comment passer un parametre a mon .exe [ par lebender33 ] Salut à tous,Alors voila j'ai un prog en vb.net. Et je veux passer des parametres au .exe généré du genre "monprog.exe argument1 argument2".J'ai vu qu passer de vb.net a asp.net [ par j_aub ] slt ttt le monde,voilà j'ai developpé une application en vb.net ( format .exe) et j'ai besoin de la migrer vers asp.net. est ce qu'il y a moyen de fai Devrais-je migrer vers vb.net ? [ par Mew27 ] Bonjour, j'ai commencé  un programme il y a quelques temps, mon premier client actuel a windows xp, tout va bien jusqu'ici, par contre je me demande s VB.NET -> ne pas passer par un setup [ par poueted ] Bonjour tout le monde,J'ai réalisé ma première appli en vb.net, et lors de la publication, ça me sort un exécutable setup.exe, et d'autres fichiers d'


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,585 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales