Я хочу скопировать некоторые / все данные из treeview в datagridview Например: если я выбираю один узел отдела или узла компании, когда я нажимаю кнопку, я хочу, чтобы все сотрудники этого узла были скопированы в datagridview с проверкой на повтор.
Кто-нибудь, пожалуйста, объясните мне механизм этого.
Это код, который я пытался написать, но у меня возникли трудности с его созданием
For i = 0 To TreeView1.Nodes.Count - 1
'MsgBox(i & " " & TreeView1.Nodes(i).Text)
Dim node As TreeNode = TreeView1.Nodes(i)
For j = 0 To node.Nodes.Count - 1
'MsgBox(j & " " & node.Nodes(j).Text)
Dim subnode As TreeNode = node.Nodes(j)
For z = 0 To subnode.Nodes.Count - 1
'MsgBox(z & " " & subnode.Nodes(z).Text)
Dim Usubnode As TreeNode = subnode.Nodes(j)
DGV.Rows(z).Cells(0).Value = subnode.Nodes(z).Name.ToString
DGV.Rows(z).Cells(1).Value = subnode.Nodes(z).Text.ToString
Next '' z
Next ''j
Next '' i
'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
древовидная структура была заполнена следующим образом:
For Each dr As DataRow In dt.Rows
Dim coName = dr("CompName").ToString()
Dim coNodeId = "co" & dr("ID").ToString()
''''find or create the company node
Dim nodes = TreeView2.Nodes.Find(coNodeId, True)
Dim coNode As TreeNode
If nodes.Length = False Then ''''didn't find: create and add
coNode = New TreeNode() {.Name = coNodeId, .Text = coName}
TreeView2.Nodes.Add(coNode)
Else ''''did find
coNode = nodes(0)
End If
Dim depName = dr("depName").ToString()
Dim depNodeId = "dep" & dr("depNum").ToString()
''''find or create the dep node under the co node
nodes = coNode.Nodes.Find(depNodeId, True)
Dim depNode As TreeNode
If nodes.Length = 0 Then
depNode = New TreeNode() {.Name = depNodeId, .Text = depName}
coNode.Nodes.Add(depNode)
Else
depNode = nodes(0)
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''create the emp node
Dim EmpName = dr("EmpName").ToString()
Dim empNodeId = "emp" & dr("EmpNum").ToString()
''''find or create the emp node under the dep node
nodes = depNode.Nodes.Find(empNodeId, True)
Dim empNode As TreeNode
If nodes.Length = 0 Then
empNode = New TreeNode() {.Name = empNodeId, .Text = EmpName}
depNode.Nodes.Add(empNode)
Else
empNode = nodes(0)
End If
Next