OVH Cloud OVH Cloud

remplir treeview

2 réponses
Avatar
Chris81
bonjour,
j'ai un form avec un treeview, je souhaite le remplir par une procedure
recursive

Public Sub Remplir_TV_Composition(ByVal Noeud As TreeNode, ByVal RefPdt
As String, ByVal PdtDev As Boolean, ByVal Coeff As Double)

le probleme est que je n'arrive a imbriquer les niveau, j'arrive a
descendre sur 2 niveau mais apres je sais pas comment faire.

-nivo1
--nivo2

apres comment faire pour lui dire de descendre plus bas????

il faut ecrire MonTreeView.Nodes(0).Nodes(1).nodes.add("ee") le
probleme est que je peux me retrouver a faire un treeview avec2 nivo
comme un treeview a 15 niveau. Si qqun a une solution

merci

2 réponses

Avatar
Mathieu Francesch
Bonjour Chris,

Je vous ai fait un petit programme qui met en pratique la récursivité et la
création d'un TreeView.

Pour commencer, une petite procédure qui permet de scanner tous les dossiers
et sous-dossiers ainsi que leurs fichiers.
########################################################
Sub Arborescence(ByVal sDossier As String, ByRef sNode As TreeNode)
Dim ListeFichiers() As String = Directory.GetFiles(sDossier)
Dim Fichier As String = Nothing
Dim NodeParent As TreeNode
Dim Node As TreeNode
NodeParent = sNode
For Each Fichier In ListeFichiers
Node = NodeParent.Nodes.Add(Path.GetFileName(Fichier))
Next

Dim SousDossiers() As String = Directory.GetDirectories(sDossier)
Dim SousDossier As String = Nothing

For Each SousDossier In SousDossiers
sNode = NodeParent.Nodes.Add(SousDossier)
Arborescence(SousDossier, sNode)
Next
End Sub
######################################################

Une fois terminé, vous pouvez l'appeler de cette manière :

Dim Root As String = "C:sqldeveloper-1557sqldeveloper"
Arborescence(Root, TreeView1.Nodes.Add(Root))

Vous pouvez maintenant modifier le tout pour arriver au résultat escompté.

Cependant, il faut toujours garder en tête que même si la récursivité
arrange parfois bien des problèmes, elle sature rapidement la mémoire.

Bonne soirée,


--
Cordialement,

Mathieu Francesch
http://forums.microsoft.com/msdn-fr/default.aspx?siteid



"Chris81" wrote:

bonjour,
j'ai un form avec un treeview, je souhaite le remplir par une procedure
recursive

Public Sub Remplir_TV_Composition(ByVal Noeud As TreeNode, ByVal RefPdt
As String, ByVal PdtDev As Boolean, ByVal Coeff As Double)

le probleme est que je n'arrive a imbriquer les niveau, j'arrive a
descendre sur 2 niveau mais apres je sais pas comment faire.

-nivo1
--nivo2

apres comment faire pour lui dire de descendre plus bas????

il faut ecrire MonTreeView.Nodes(0).Nodes(1).nodes.add("ee") le
probleme est que je peux me retrouver a faire un treeview avec2 nivo
comme un treeview a 15 niveau. Si qqun a une solution

merci





Avatar
Chris81
bonjour,
merci pour votre reponse, et bravo pour votre forum pour l'instant il a
l'air interressant. Promis je viendrais y mettre des sources
a+