Lavender: / VB - TreeView Knoten auslesen

Hallo zusammen,

nun hab ich mich mal wieder ein wenig an Visual Basic gesetzt und gleich folgendes Problem:

Wenn ich folgenden Tree habe:

Mainknoten

  • 1
  • 2
  • 3
    Zweitknoten
  • 1
  • 2
  • 3
  • Unterknoten
    -- 1
    -- 2
    -- 3

und nun auslesen möchte, welchen Parent ich gewählt habe, benutze ich "MsgBox TreeView1.SelectedItem.Parent.Key"
Das funktioniert auch ganz gut, solange ich nicht wärend dieses Befehls auf einem rootknoten bin, dann kommt Fehler 91 (Objekt-Variable oder With-Blockvariable nicht festgelegt)

Gibt es keine Möglichkeit, den Knotenwert auszulesen ohne diesen Fehler zu verursachen.

Oder anders:

Wie füge ich einen Unterknoten einem Knoten zu... habe es mit

Call Form1.TreeView1.Nodes.Add(Form1.TreeView1.SelectedItem.Root.Key, tvwChild, Form1.Text2.Text & "x", Text1.Text, 1)

versucht, aber dann fügt er auch normalen Elementen ein Ordner zu und macht sie so zum Knoten...

Ohje, hoffentlich hat das wer verstanden -.-

Gruß
Lavender

  1. Hat sich erledigt.

    Ich mach es ganz anders

  2. Hi Lavender,

    auch wenn es sich erledigt hat - vielleicht braucht es ja jemand mal:

    und nun auslesen möchte, welchen Parent ich gewählt habe, benutze ich "MsgBox TreeView1.SelectedItem.Parent.Key"
    Das funktioniert auch ganz gut, solange ich nicht wärend dieses Befehls auf einem rootknoten bin, dann kommt Fehler 91 (Objekt-Variable oder With-Blockvariable nicht festgelegt)

    Gibt es keine Möglichkeit, den Knotenwert auszulesen ohne diesen Fehler zu verursachen.

    die Keys, die Du den Knoten zugewiesen hast, sollten ja einem Schema entsprechen. So kannst Du dann einfach abfragen, ob der Key einem bestimmten Aufbau entspricht:

    if TreeView1.SelectedItem.Key like sonstwas then
        MsgBox TreeView1.SelectedItem.Key
    else
        MsgBox TreeView1.SelectedItem.Parent.Key
    end if

    Wie füge ich einen Unterknoten einem Knoten zu

    Ein Beispiel dazu:

    Zuerst kommt der Hauptknoten, z. B.:

    Set nodX = TreeView1.Nodes.Add(, , "G", "Mitglieder")

    Dem Knoten "G" sollen nun Kinder hinzugefügt werden (G1 und G2):

    Set nodX = TreeView1.Nodes.Add("G", tvwChild, "G1", "Übersicht")
    Set nodX = TreeView1.Nodes.Add("G", tvwChild, "G2", "Geschäftsguthaben")

    Nun sollen dem Knoten "Geschäftsguthaben" noch Kinder hinzugefügt werden (G21 und G22):

    Set nodX = TreeView1.Nodes.Add("G2", tvwChild, "G21", "Einzahlungen")
    Set nodX = TreeView1.Nodes.Add("G2", tvwChild, "G22", "Auszahlungen")

    Damit entsteht folgender Baum:

    G (Mitglieder)
    +-- G1 (Übersicht)
    +-- G2 (Geschäftsguthaben)
         +-- G21 (Einzahlungen)
         +-- G22 (Auszahlungen)

    Die Buchstaben bezeichnen also einen kompletten (Unter-)Baum. Die Ziffern bzw. Zahlen dahinter kennzeichnen darin die Hierarchie, die gut geplant sein sollte. Zur 1 gehören also die Kinder 11, 12, 13, 14, usw., zur 2 gehören die 21, 22, 21, usw.

    Und nun die Frage: Wohin würde man einen Ast mit dem Key G211 befördern? *g*

    Viele Grüße

    Jörg