Treeview - Unterknoten deffinieren

17/02/2009 - 07:41 von Andreas Ahrens | Report spam
Hi NG,

wie muß ich das Listing àndern, um einen Unterknoten von einem Unterknoten
zu deffinieren?

Private Sub Form_Load()
Dim nodX As Node

Set db = CurrentProject.Connection
Set rs = New ADODB.Recordset
SqlString = "SELECT Kunden.KdID, Kunden.Anrede, Kunden.NName, Kunden.VName,
Kunden.Straße, " & _
"Kunden.Plz, Kunden.Ort, Kunden.[Tel-Fest], Kunden.[Tel-Handy],
Kunden.PC, PC.RName, " & _
"Kunden.Bwmerkung, PC.Gehàuse, PC.OS, PC.HDD, PC.CPU, PC.FDD,
PC.CD, PC.Grafik, " & _
"PC.Sound, PC.RAM, PC.Netzwerk, PC.Mainboard, PC.Monitor,
PC.Tastatur, PC.Maus, " & _
"PC.ausgeliefert, PC.zurück, PC.Drucker, PC.PCID FROM PC INNER JOIN
Kunden ON " & _
"PC.PCID = Kunden.PC"
rs.Open (SqlString), db

'Hauptknoten erzeugen
Set nodX = TreeView3.Nodes.Add(, , "r1", "Namen")

While Not rs.EOF
If rs.Fields("NName") > 0 Then
'Unterknoten erzeugen
Set nodX = TreeView3.Nodes.Add("r1", tvwChild, "k" &
CStr(rs.Fields("KdID")), CStr(rs.Fields("NName")))
nodX.Selected = True

'wie als Uterknoten vom Knoten darüber?
Set nodX = TreeView3.Nodes.Add("r1", tvwChild, "p" &
CStr(rs.Fields("KDID")), CStr(rs.Fields("RName")))
nodX.Selected = True

End If
rs.MoveNext
Wend
rs.Close
db.Close

End Sub

Gruß
Andy
 

Lesen sie die antworten

#1 Thomas Möller
17/02/2009 - 18:34 | Warnen spam
Hallo Andreas,

Andreas Ahrens schrieb:
wie muß ich das Listing àndern, um einen Unterknoten von einem Unterknoten
zu deffinieren?



als erstes möchte ich Dir eine Blick auf www.donkarl.com empfehlen. Dort
findest Du auf der Downloadseite zur 3. AEK einen Vortrag mit dem Titel
"Treeview/Listview" von Jörg Ackermann.


Private Sub Form_Load()
Dim nodX As Node

Set db = CurrentProject.Connection
Set rs = New ADODB.Recordset
SqlString = "SELECT Kunden.KdID, Kunden.Anrede, Kunden.NName, Kunden.VName,
Kunden.Straße, " & _
"Kunden.Plz, Kunden.Ort, Kunden.[Tel-Fest], Kunden.[Tel-Handy],
Kunden.PC, PC.RName, " & _
"Kunden.Bwmerkung, PC.Gehàuse, PC.OS, PC.HDD, PC.CPU, PC.FDD,
PC.CD, PC.Grafik, " & _
"PC.Sound, PC.RAM, PC.Netzwerk, PC.Mainboard, PC.Monitor,
PC.Tastatur, PC.Maus, " & _
"PC.ausgeliefert, PC.zurück, PC.Drucker, PC.PCID FROM PC INNER JOIN
Kunden ON " & _
"PC.PCID = Kunden.PC"
rs.Open (SqlString), db

'Hauptknoten erzeugen
Set nodX = TreeView3.Nodes.Add(, , "r1", "Namen")

While Not rs.EOF
If rs.Fields("NName") > 0 Then
'Unterknoten erzeugen
Set nodX = TreeView3.Nodes.Add("r1", tvwChild, "k" &
CStr(rs.Fields("KdID")), CStr(rs.Fields("NName")))
nodX.Selected = True

'wie als Uterknoten vom Knoten darüber?
Set nodX = TreeView3.Nodes.Add("r1", tvwChild, "p" &
CStr(rs.Fields("KDID")), CStr(rs.Fields("RName")))
nodX.Selected = True

End If
rs.MoveNext
Wend
rs.Close
db.Close

End Sub



Wenn Du einen Eintrag hinzufügst, dann gibst Du als ersten Parameter an,
zu welchem Element des Treeviews sich der neue Knoten relativ befindet.

Bisher hast Du einen Knoten mit dem Schlüssel "r1" erstellt. Releativ zu
diesem Knoten "r1" fügst Du dann weitere Knoten mit dem Schlüssel "k"
usw. hinzu.
Um nun weitere Unterknoten zu diesem Knoten zu erstellen, musst Du als
ersten Parameter in der Add-Methode den Schlüssel "k" usw. verwenden.
Dein Code könnte ungefàhr so aussehen:

'wie als Unterknoten vom Knoten darüber?
Set nodX = TreeView3.Nodes.Add("k" & CStr(rs.Fields("KdID")), _
tvwChild, _
"p" & CStr(rs.Fields("KDID")), _
CStr(rs.Fields("RName")))



HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen