第一季沒有得到答案,現在想到能否把父節點定義為 PO號,子節點為PO號+產品號,這樣的話,每個子節點可以找到對應的父節點。。請高手列出詳細方案,在線死等。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dt As New DataTable
'模擬數據(要求按采購單排序)
dt.Columns.Add("采購單", GetType(String))
dt.Columns.Add("產品", GetType(String))
dt.Rows.Add("PO150601", "鉛筆")
dt.Rows.Add("PO150601", "橡皮擦")
dt.Rows.Add("PO150602", "筆記本")
dt.Rows.Add("PO150603", "")
'
Dim nd1 As TreeNode = Nothing
For Each dr As DataRow In dt.Rows
If (nd1 Is Nothing) OrElse (nd1.Name <> dr(0)) Then
nd1 = Me.TreeView1.Nodes.Add(dr(0), Mid(dr(0), 3))
End If
If Not String.IsNullOrEmpty(dr(1)) Then
nd1.Nodes.Add(dr(1), dr(1))
End If
Next
End Sub
注:VB.Net 中 TreeView 相同父節點下的兄弟是一個 Nodes 集合,沒有全體節點的集合。所以 Key 不需要組合。
每個子節點的 Parent 就是父節點,不需要用 Key 去查找父節點了。