IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Treeview et listview.


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 53
    Par défaut Treeview et listview.
    Bonjour je vous écrit car je rencontre plusieurs problemes.

    en gros j'ai un projet qui doit lire des Mp3.

    j'ai donc un treeview qui liste tout mes dossiers et dans le listview je dois avoir tout les fichiers du dossier (un peu style explorateur de windows).

    C:\MesMp3
    |_ dossier1
    |_ dossier2
    Mon premier soucis vient du fait que quand je clique sur le noeud C:\mesMp3, il me liste bien dans le listview les mp3 qui sont contenue dans dossier1 et dossier2 mais quand je clique sur le node dossier1 ou dossier2, il ne m'affiche plus rien dans le listview.


    je vous passe mon code pour eclaircir

    A. Le formulaire principal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    'On charge le Treeview
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.TvAlbum.Nodes.Add("E:\Mes Documents\Ma musique\50 Cent")
            ModSynchronisation.ExplorerDossier(Me.TvAlbum.Nodes.Item(0))
        End Sub
     
        Private Sub TvAlbum_AfterExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TvAlbum.AfterExpand
            'Quand on déroule les noeuds
            Dim z As TreeNode
            For Each z In e.Node.Nodes
                ModSynchronisation.ExplorerDossier(z)
            Next
        End Sub
     
        Private Sub TvAlbum_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TvAlbum.NodeMouseClick
            Dim z As TreeNode
            'Vidage de la listview
            Me.LVFichiers.Clear()
            For Each z In e.Node.Nodes
                ModSynchronisation.ListerFichier(z)
            Next
        End Sub
    B. Le module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Imports System.IO
     
    Module ModSynchronisation
        Public Sub ExplorerDossier(ByVal node As TreeNode)
            'On vide la collection de nodes
            'node.Nodes.Clear()
            'On recupere le chemin complet
            Dim s As String
            'FullPath permet d'obtenir le chemin du noeud en cours
            For Each s In Directory.GetDirectories(node.FullPath())
                node.Nodes.Add(Path.GetFileName(s))
            Next
        End Sub
     
        Public Sub ListerFichier(ByVal node As TreeNode)
            'On recupere le chemin complet
            Dim s As String
            For Each s In Directory.GetFiles(node.FullPath, "*.mp3", SearchOption.AllDirectories)
                FrmLecteur.LVFichiers.Items.Add(Path.GetFileName(s))
            Next
        End Sub
    End Module

    j'espere que vous voyez ce que je veux dire et j'espere que vous pourrez m'aider.


    Cordialement

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2006
    Messages : 58
    Par défaut
    Olala je dois quitter maintenant... mais brièvement:
    penser à mettre ton code dans l'évenement "NodeMouseClick" de la TreeView

    1) je rempli ma treeview :

    ici jé créer un seul Node le (0) càd le premier j'ai appellé la collection "Nodes" pui invoquer la méthode "Add" pour ajouter toutes les dirctories trouvées dans "D:\"

    *********************************************
    Dim Dirs As String() = Directory.GetDirectories("D:\") //

    Dim DirectoryName As String
    For Each DirectoryName In Dirs
    TreeView1.Nodes(0).Nodes.Add(DirectoryName)
    Next
    ************************************************
    Il vaut mieux si tu le mets dans l'événement "Load" de la fenêtre, comme ça au démarrage tu trouvera la "TreeView" prête (déja remplie)
    UNE fois la treeView est remplissée ==> mettez le code chargé de l'affichage des fichiers dans la "listView" dans l'évenement "NodeMouseClick" de la "TreeView"

    Dans cette évenemet: Appeller la propriété "SelectedNode" de la "TreeView" (TreeView1.SelectedNode.Text) ==>uiliser ce text comme le nom d'une "Diretory" et enfin fait un appel à la méthode "GetFiles()" de cette Directory pour avoir tous les fichiers qui y sont disponible (la méthode GetFiles() prends comme paramètre le nom du répertoire(Directory) à rechercher)
    Comme ça à chaque fois que tu clique sur un node la listeView se mettre à jour pour reflèter le nom de la Directory que vous avez séléctionnez dans la "TreeView". en appellant la méthode "Add" de la "listView"...

    Je pense que si vous penser à l'événement "SelectedNode" ton problème sera résolu.
    en retournat j'espère que ton problème sera résolu

Discussions similaires

  1. [XL-2003] Treeview et Listview croix rouge
    Par dawood dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/02/2011, 09h27
  2. [WPF] Databinding et combinaison de Treeview et Listview
    Par Mythrandil dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 06/03/2009, 14h31
  3. section treeview dans listview
    Par waspy59 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/06/2008, 23h35
  4. Treeview et Listview bonne méthode ?
    Par Luffy49 dans le forum Windows Forms
    Réponses: 13
    Dernier message: 12/07/2007, 11h59
  5. icon dans treeview ou listview
    Par Sebinou dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2004, 00h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo