vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: TreeView füllen 
Autor: Water
Datum: 26.12.04 18:50

Hallo,
diese Funktion habe ich auch schon immer gebraucht. Hatte aber nie Lust, sowas zu programmieren. Dieser Beitrag war nun Anlass für mich, es doch zu tun. Also das ist jetzt dabei herausgekommen:

Der Code ist für das Erstellen da:
    'Pfad dem TreeView hinzufügen
    Public Sub AddToTreeView(ByVal xTreeView As TreeView, ByVal Pfad As String)
 
        'Wird später benötigt
        Dim TN As New TreeNode
 
        'Pfad splitten
        Dim splt() As String
        splt = Split(Pfad, "\")
 
        'Jedes Element des Pfades durchgehen und prüfen,
        'ob es existiert. Wenn nicht, erstellen.
 
        'Stammelemente prüfen
        If Not ExistsNode(xTreeView.Nodes, splt(0)) Then
 
            'Node hinzufügen
            TN = New TreeNode
            TN.Text = splt(0)
            xTreeView.Nodes.Add(TN)
 
            'Damit Unterelemente hinzugefügt werden können
            LastTreeNode = TN
        End If
 
        'Weitere Unterelemente hinzufügen?
        If splt.Length > 1 Then
 
            'Alle durchgehen
            Dim i As Integer
 
            'Erstes Element überspringen, also mit 1
            'anfangen, da das ja schon oben
            'bearbeitet wurde
            For i = 1 To splt.Length - 1
 
                'Existier das Unterelement schon?
                If Not ExistsNode(LastTreeNode.Nodes, splt(i)) Then
 
                    'Node hinzufügen
                    TN = New TreeNode
                    TN.Text = splt(i)
                    LastTreeNode.Nodes.Add(TN)
 
                    'Damit Unterelemente hinzugefügt werden können
                    LastTreeNode = TN
                End If
 
            Next
 
        End If
 
    End Sub
 
    Private LastTreeNode As TreeNode
 
    'Prüft ob eine TreeNode besteht.
    Private Function ExistsNode(ByVal xNode As TreeNodeCollection, ByVal Name _
      As String) As Boolean
 
        ExistsNode = False
 
        'Jedes Element der TreeNode durchlaufen und
        'prüfen, ob ein Element mit diesem Namen
        'schon besteht
        Dim y As TreeNode
        For Each y In xNode
            If y.Text = Name Then
                ExistsNode = True
 
                'TreeNode der Variable LastTreeNode
                'zuweisen, damit Unterelemente
                'hinzugefügt werden können.
 
                LastTreeNode = y
 
                Exit Function
            End If
        Next
 
    End Function
So wird das Ganze dann verwendet:
AddToTreeView(TreeView1, "Node\UnterNode\UnterUnterNode")
Geht bis ins Unendliche. Eine Einschränkung gibts noch. Jeder Name darf in einer Ebene nur einmal auftreten. Eigentlich logisch. Ich hoffe das Funktioniert dann alles.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
TreeView füllen1.232nilslueders26.12.04 12:24
Re: TreeView füllen1.086Water26.12.04 18:50
Re: TreeView füllen756nilslueders27.12.04 08:10

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel