Treefiew einige Fragen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von vierkant.

    Treefiew einige Fragen

    Hi! Ich hab eine Treeview auf der Befinden sich ein Knoten (Feuerwehr)

    Wie kann ich via Code diesen Eintrag selektieren (auswählen lassen).

    Hintergrund ist folgender:

    will ich einen neuen Knoten anlegen tue ich das so:

    VB.NET-Quellcode

    1. Dim newNode As TreeNode = New TreeNode(TextBox1.Text)
    2. Explorer1.TreeView.SelectedNode.Nodes.Add(newNode)
    3. Me.Close()


    Natürlich muss da der "Haupt"Knoten ausgewählt sein da sonst ein Fehler auftritt!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „vierkant“ ()

    Hallo,

    indem du SelectedNode zuweist:

    VB.NET-Quellcode

    1. TreeView1.SelectedNode = TreeView1.Nodes(0)

    Hier wird der erste Knoten markiert. Natürlich geht es auch mit dem 2. usw.

    Wenn du einen Unterknoten selektieren möchtest, dann musst du nur die Entsprechende ChildNode des Node wählen:

    VB.NET-Quellcode

    1. TreeView1.SelectedNode = TreeView1.Nodes(0).Nodes(1)

    In dem Fall der 2. Kindknoten des ersten Hauptknoten
    Perfekt! Danke! Und wie kann ich vorher kontrollieren ob der Eintrag schon vorhanden ist?

    Und noch eine Frage:

    In einem Ordner befinden sich Text Dateien - jetzt will ich das diese in der Treeview als Knoten angeführt werden!
    So hätte ich mir das gedacht:

    VB.NET-Quellcode

    1. Private Sub Explorer1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    2. 'Benutzeroberfläche einrichten
    3. LoadTree()
    4. Dim dir As New DirectoryInfo(Path.GetDirectoryName(Application.ExecutablePath) & "\Daten\")
    5. For Each file As FileInfo In dir.GetFiles
    6. Me.TreeView.SelectedNode.Nodes.Add(file.Name)
    7. Next
    8. End Sub


    Aber irgendwie funktionierst nicht!

    Oder kann man die Baumstruktur irgendwie anders abspeichern?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „vierkant“ ()

    Ob ein Eintrag existiert kannst du mit der Count-Eigenschaft der Nodes-Auflistungen im Verhältnis zum Index des verlangtem Elements abklären. Also wenn folgende Abfrage True ist, dann existiert das Element mit dem Index 1 in der Auflistung.

    VB.NET-Quellcode

    1. If 1 < x.Nodes.Count Then


    Weiterhin kannst du noch verschiedene Eigenschjaften, wie den angezeigten Text, abfragen.


    Was macht die Methode LoadTree()?
    Die TreeView mit Datei- und Ordnernamen eines Ordners zu befüllen, lässt sich am einfachsten mit einer Rekursiven Funktion erledigen. Deine Methode lädt "nur" die Dateien des angegebenen Ordners.
    Ein Beispiel gibts in der MSDN: msdn.microsoft.com/de-de/library/ms171645.aspx

    Wenn du die Auflistung abspeichern willst, würde ich eine XML-Datei bevorzugen. Dazu hier etwas: archiessandbox.blogspot.de/201…wxml-and-xmltreeview.html