Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB.NET] Compilare un TreeView

    Salve a tutti,
    Sto creando un client FTP e mi serviva visualizzare i file e le cartelle che ho sul server, e avevo pensato di utilizzare un TreeView, come se fosse Esplora Risorse.
    I dati che mi arrivano dal server sono i nomi dei file (o cartelle) presenti nella directory che ho indicato.
    Per ogni elemento che trovo (file o cartella che sia) aggiungo un nodo al TreeView (interno al nodo principale, che rappresenta la directory principale). Quando però trovo una cartella, voglio che mi aggiunga i file e le cartelle (e i file dentro a queste cartelle, e così via, che posso sapere aggiungendo al percorso il nome di questa directory) in un sottonodo rispetto alla cartella che ho trovato.

    E' tanto che ci penso, ma non ho trovato un metodo valido!
    L'idea potrebbe essere di richiamare la routine che mi usa per trovare i file nella directory X ogni volta che trovo una cartella, ma devo fare in modo che mi tenga conto della gerarchia dei nodi, e specialmente che aggiunga il nodo del file/cartella nel nodo file/cartella che lo contiene GIUSTO.

    Spero qualcuno mi risponda, lo ringrazio anticipatamente

    Ciao
    Mi contraddico facilmente, ma lo faccio così spesso che questo fa di me una persona coerente [Caparezza]
    Se la conoscenza crea problemi, non è con l'ignoranza che li si risolve [Isaac Asimov]
    >>>Visita il mio blog<<<

  2. #2
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    Ciao Cepu96.

    Non so se può fare al caso tuo, ma io, in locale, ho risolto con una routine ricorsiva:

    codice:
    Private Sub AddDirectory(ByVal Name As String, ByRef Parent As TreeNode)
            Dim Root As New IO.DirectoryInfo(Name)
            Dim Par As TreeNode
    
            For Each d As IO.DirectoryInfo In Root.GetDirectories()
                Par = New TreeNode(d.Name)
                AddDirectory(d.FullName, Par)
                Parent.Nodes.Add(Par)
                Par = Nothing
            Next
    
            For Each f As IO.FileInfo In Root.GetFiles
                Parent.Nodes.Add(f.Name)
            Next
    End Sub
    Per utilizzarla:

    codice:
    Dim Tree As New TreeNode("C:\Mia Cartella")
    AddDirectory(TextBox1.Text, Tree)
    
    trw.Nodes.Add(Tree) 'trw è il tuo Treeview.
    
    Tree = Nothing
    Tuttavia non avendo mai lavorato con i server web non so se può esserti d'aiuto.

    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.