Treeview [Résolu]

dartagnan43 45 Messages postés samedi 31 mai 2008Date d'inscription 26 février 2015 Dernière intervention - 21 sept. 2014 à 17:12 - Dernière réponse : CGSI3 417 Messages postés vendredi 22 février 2008Date d'inscription 7 janvier 2018 Dernière intervention
- 4 oct. 2014 à 14:33
Bonjour,
Je cherche a afficher le contenu d'un répertoire par exemple c:\ dans un treeview
Ce treeview je souhaite qu'il affiche tous les dossier et fichiers sous-jacent en cliquant sur le noeud dossier
Mon code affiche les dossiers et fichiers mais cliquable sur le noeud principal
Imports System.IO

Public Class Form1
Const _RepertoireALister As String = "c:"
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
TreeView1.TopNode = TreeView1.Nodes.Add(_RepertoireALister, _RepertoireALister)
For Each _Dossier As String In Directory.GetDirectories(_RepertoireALister)
TreeView1.TopNode.Nodes.Add(_Dossier, Path.GetFileName(_Dossier))
For Each _Fichier As String In Directory.GetFiles(_RepertoireALister)
TreeView1.TopNode.Nodes.Add(_Fichier, Path.GetFileName(_Fichier))
Next
Next
End Sub
End Class
merci

--
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
dartagnan43 45 Messages postés samedi 31 mai 2008Date d'inscription 26 février 2015 Dernière intervention - Modifié par dartagnan43 le 23/09/2014 à 19:02
2
Merci
J'ai réussi youpi

Imports System.IO

Public Class Form1
Const _RepertoireALister As String = "."
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.TreeView1.TopNode = Me.TreeView1.Nodes.Add(_RepertoireALister, _RepertoireALister)
For Each _Dossier As String In Directory.GetDirectories(_RepertoireALister)
Me.TreeView1.TopNode.Nodes.Add(_Dossier, Path.GetFileName(_Dossier))
listeDesFichiers(TreeView1.TopNode, _Dossier)
Next
For Each _Fichier As String In Directory.GetFiles(_RepertoireALister)
Me.TreeView1.TopNode.Nodes.Add(Path.GetFileName(_Fichier))
Next
End Sub
Sub listeDesFichiers(ByVal _MonNode As TreeNode, ByVal _Nom As String)
Dim Node As TreeNode = _MonNode.Nodes(_Nom)
For Each Dossier As String In Directory.GetDirectories(_Nom)
Node.Nodes.Add(Dossier, Path.GetFileName(Dossier))
listeDesFichiers(Node, Dossier)
Next
For Each fichier As String In Directory.GetFiles(_Nom)
Node.Nodes.Add(Path.GetFileName(fichier))
Next

End Sub
End Class


--

Merci dartagnan43 2

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de dartagnan43
CGSI3 417 Messages postés vendredi 22 février 2008Date d'inscription 7 janvier 2018 Dernière intervention - 22 sept. 2014 à 10:09
0
Merci
Bonjour dartagnan43

Peut tu préciser le point qui te pose problème, le retour d'erreur et/ou, donc, ta question précise sur ce sujet.

Une solution plus simple serait peut être de passer pas un OpenFileDialog
http://msdn.microsoft.com/fr-fr/library/system.windows.forms.openfiledialog(v=vs.110).aspx

Bonne Prog
CGSI3
Commenter la réponse de CGSI3
dartagnan43 45 Messages postés samedi 31 mai 2008Date d'inscription 26 février 2015 Dernière intervention - 22 sept. 2014 à 18:34
0
Merci
Bonsoir,
Certes un Openfiledialog est la solution mais je cherche a intégrer un treeview dans mon application
Si tu essaies mon code, tu observeras qu'il n'affiche que les noeuds principaux et certains fichiers
j'essaie de créer une récursivité pour afficher les sous dossier,sous sous dossier et fichiers dépendant a ces dossiers

--
Commenter la réponse de dartagnan43
dartagnan43 45 Messages postés samedi 31 mai 2008Date d'inscription 26 février 2015 Dernière intervention - Modifié par dartagnan43 le 22/09/2014 à 19:35
0
Merci
J' suis presque mais pas tout a fait ça
Imports System.IO

Public Class Form1
Const _RepertoireALister As String = "."
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
TreeView1.TopNode = TreeView1.Nodes.Add(_RepertoireALister, _RepertoireALister)
For Each _Dossier As String In Directory.GetDirectories(_RepertoireALister)
TreeView1.TopNode.Nodes.Add(_Dossier, Path.GetFileName(_Dossier))
listeDesFichiers(TreeView1.TopNode, Path.GetFileName(_Dossier))
Next
For Each _Fichier As String In Directory.GetFiles(_RepertoireALister)
TreeView1.TopNode.Nodes.Add(_Fichier, Path.GetFileName(_Fichier))
Next

End Sub
Sub listeDesFichiers(ByVal _MonNode As TreeNode, ByVal _Nom As String)
Dim Node As TreeNode = _MonNode.Nodes(_Nom)
For Each Dossier As String In Directory.GetDirectories(_Nom)
_MonNode.Nodes.Add(Dossier)

Next
For Each fichier As String In Directory.GetFiles(_Nom)
_MonNode.Nodes.Add(Path.GetFileName(fichier))

Next
End Sub
End Class


--
Commenter la réponse de dartagnan43
CGSI3 417 Messages postés vendredi 22 février 2008Date d'inscription 7 janvier 2018 Dernière intervention - Modifié par CGSI3 le 3/10/2014 à 22:09
0
Merci
Bsoir Dartagnan,

Désolé j'étais absent quelques jours et pour être franc les Nodes et autres treeview ne sont pas mes amis ...

Mais j'essaierai cela des que possible car cela m'intéresse.

Perso j'ai moi même créé une classe pour travailler sur les fichiers.
donc si tu as besoin d'aide sur ce point je peux peut être t'aider.

Bonne continuation dans tes projets.

Merci pour le partage
CGSI3

Ps: Apres essai le code marche bien GG




--
Commenter la réponse de CGSI3
CGSI3 417 Messages postés vendredi 22 février 2008Date d'inscription 7 janvier 2018 Dernière intervention - Modifié par CGSI3 le 4/10/2014 à 14:59
0
Merci
Bonjour,

Oups rectification marche pas trop bien dans sa récursivité
Essai plutôt ceci


   ' a mettre dans ta form
    ...
    Init_TriView(Me.TreeView1, ".")
    ...

    Public Sub listeDesFichiers(ByRef Node As TreeNode, ByVal _Nom As String)
        Node.Text = _Nom
        For Each Dossier As String In Directory.GetDirectories(_Nom)
            Dim N As New TreeNode
            listeDesFichiers(N, Dossier)
            Node.Nodes.Add(N)
        Next
        For Each fichier As String In Directory.GetFiles(_Nom)
            Node.Nodes.Add("   " & Path.GetFileName(fichier))
        Next
    End Sub

    Public Sub Init_TriView(ByRef Tree As TreeView, byref Txt as String)
        Dim N As New TreeNode
        listeDesFichiers(N, Txt)
        Tree.Nodes.Add(N)
    End Sub


ou mieux :

http://www.codeproject.com/Articles/301943/TreeView-Explorer-using-VB-NET
--
Commenter la réponse de CGSI3

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.