Hallo,
ich versuche gerade unterVB.Net 2010 das TreeView Object mit Daten zu füllen.
Dabei möchte ich das Array Group_Name_List(i, 2) as String als Datengrundlage verwenden.
Group_Name_List(i, 2) hat dabei die Form "AAA\BBB\CCC\...". Jeder einzelne Eintrag stellt dabei eine Ebene dar, z.B.:
AAA
-BBB
-CCC
-.....
Dabei kann die Tiefe mit fortlaufendem i unterschiedlich ausfallen.
Ich möchte nun mit fortlaufenden i in der Schleife die Nodes schreiben und habe damit ein Problem. dass wenn die Pfadtiefe größer wird der Code den nächsten Eintrag auf die gleiche Pfadtiefe schreibt. Ich habe es versucht den letzten Knoten vorher zu selektieren, aber daran scheitert es bereits.
Im folgen der Code
Private Sub SelectBeams_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
Dim j As Integer = 0
Dim k As Integer = 0
Dim l As Integer = 0
Dim m As Integer = 0
Dim group_depth As UInt16 = 1
Dim temp_depth As UInt16 = 1
Dim group_name_to_add() As String
Dim group_name_to_add_string As String
Dim group_name_to_add_string_temp As String
Dim Node1 As TreeNode
Node1 = TreeView1.Nodes.Add(Group_Name_List(1, 2))
group_name_to_add_string_temp = Group_Name_List(1, 2)
'Schleifenbeginn
For i = 2 To No_Groups
group_depth = Group_Name_List(i, 2).Split("\").GetLength(0) 'Gruppenebene ermitteln
group_name_to_add = Group_Name_List(i, 2).Split("\") 'Gruppenliste in Array speichern
group_name_to_add_string = group_name_to_add(group_name_to_add.Length - 1) 'letzten Gruppenname ermitteln
If group_depth = temp_depth Then
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
TreeView1.SelectedNode = TreeView1.Nodes.Item(i - 1)
End If
'Code ab hier falsch
If group_depth = temp_depth + 1 Then
TreeView1.SelectedNode = TreeView1.Nodes(0)
Dim test As TreeNode
'ReDim test(100)
'Me.TreeView1.SelectedNode = TreeView1.Nodes.Find(group_name_to_add_string_temp, True)
test = TreeView1.Nodes.Find(TreeView1.Name = group_name_to_add_string_temp, True)
Me.TreeView1.SelectedNode = test
TreeView1.Select()
'TreeView1.SelectedNode = TreeView1.Nodes.Index(1)
TreeView1.SelectedNode.Nodes.Add(group_name_to_add_string)
End If
'Code bis hier falsch
If group_depth = temp_depth - 1 Then
TreeView1.Parent.Select()
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
ElseIf group_depth = temp_depth - 2 Then
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Nodes.Add(group_name_to_add_string)
ElseIf group_depth = temp_depth - 3 Then
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
ElseIf group_depth = temp_depth - 4 Then
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
ElseIf group_depth = temp_depth - 5 Then
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
ElseIf group_depth = temp_depth - 6 Then
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
End If
temp_depth = group_depth
group_name_to_add_string_temp = group_name_to_add_string
Next
TreeView1.ExpandAll()
End Sub
ich versuche gerade unterVB.Net 2010 das TreeView Object mit Daten zu füllen.
Dabei möchte ich das Array Group_Name_List(i, 2) as String als Datengrundlage verwenden.
Group_Name_List(i, 2) hat dabei die Form "AAA\BBB\CCC\...". Jeder einzelne Eintrag stellt dabei eine Ebene dar, z.B.:
AAA
-BBB
-CCC
-.....
Dabei kann die Tiefe mit fortlaufendem i unterschiedlich ausfallen.
Ich möchte nun mit fortlaufenden i in der Schleife die Nodes schreiben und habe damit ein Problem. dass wenn die Pfadtiefe größer wird der Code den nächsten Eintrag auf die gleiche Pfadtiefe schreibt. Ich habe es versucht den letzten Knoten vorher zu selektieren, aber daran scheitert es bereits.
Im folgen der Code
Private Sub SelectBeams_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
Dim j As Integer = 0
Dim k As Integer = 0
Dim l As Integer = 0
Dim m As Integer = 0
Dim group_depth As UInt16 = 1
Dim temp_depth As UInt16 = 1
Dim group_name_to_add() As String
Dim group_name_to_add_string As String
Dim group_name_to_add_string_temp As String
Dim Node1 As TreeNode
Node1 = TreeView1.Nodes.Add(Group_Name_List(1, 2))
group_name_to_add_string_temp = Group_Name_List(1, 2)
'Schleifenbeginn
For i = 2 To No_Groups
group_depth = Group_Name_List(i, 2).Split("\").GetLength(0) 'Gruppenebene ermitteln
group_name_to_add = Group_Name_List(i, 2).Split("\") 'Gruppenliste in Array speichern
group_name_to_add_string = group_name_to_add(group_name_to_add.Length - 1) 'letzten Gruppenname ermitteln
If group_depth = temp_depth Then
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
TreeView1.SelectedNode = TreeView1.Nodes.Item(i - 1)
End If
'Code ab hier falsch
If group_depth = temp_depth + 1 Then
TreeView1.SelectedNode = TreeView1.Nodes(0)
Dim test As TreeNode
'ReDim test(100)
'Me.TreeView1.SelectedNode = TreeView1.Nodes.Find(group_name_to_add_string_temp, True)
test = TreeView1.Nodes.Find(TreeView1.Name = group_name_to_add_string_temp, True)
Me.TreeView1.SelectedNode = test
TreeView1.Select()
'TreeView1.SelectedNode = TreeView1.Nodes.Index(1)
TreeView1.SelectedNode.Nodes.Add(group_name_to_add_string)
End If
'Code bis hier falsch
If group_depth = temp_depth - 1 Then
TreeView1.Parent.Select()
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
ElseIf group_depth = temp_depth - 2 Then
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Nodes.Add(group_name_to_add_string)
ElseIf group_depth = temp_depth - 3 Then
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
ElseIf group_depth = temp_depth - 4 Then
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
ElseIf group_depth = temp_depth - 5 Then
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
ElseIf group_depth = temp_depth - 6 Then
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
TreeView1.Parent.Select()
Node1 = TreeView1.Nodes.Add(group_name_to_add_string)
End If
temp_depth = group_depth
group_name_to_add_string_temp = group_name_to_add_string
Next
TreeView1.ExpandAll()
End Sub