VB:DEV控制元件之TreeList控制元件-獲取TreeList所有Node(遞迴)
本篇文章將介紹獲取TreeList所有Node節點的方法,此處TreeList的資料使用資料來源繫結,為動態獲取,併為TreeList設定comboBox核取方塊,從資料庫中動態選中TreeList的節點
一、首先我們先為TreeList繫結資料來源,並設定KeyFieldName以及ParentFieldName
TreeList1.DataSource = DataTable1
TreeList1.KeyFieldName = "編號"
TreeList1.ParentFieldName = "上級編號"
二、從資料庫中查詢需要將核取方塊勾選的條件或資料,這裡不多贅述,只是呼叫BLL查詢資料庫然後將返回結果放在一個DataTable中。這裡起名為dt明細
三、先遍歷第一層TreeList
For i As Integer = 0 To TreeList1.Rows.Count - 1
For j As Integer = 0 To dt明細.Rows.Count - 1
If TreeList1.Nodes(i).Item("編號").ToString = dt明細.Rows.Item(j).Item("編號").ToString Then
'將節點設定為選中
TreeList1.Nodes.Item(i).CheckState = CheckState.Checked
Exit For
End If
Next j
'呼叫遞迴函式
getAllNodes(TreeList1.Nodes(i))
Next i
四、接下來開始編寫遞迴方法getAllNodes()
Public Sub getAllNodes(ParentNode As TreeListNode)
Dim i As Integer = 0
Try
'node表示當前節點,用以查詢是否存在下級節點
For Each node As TreeListNode In ParentNode.Nodes
For j As Integer = 0 To dt明細.Rows.Count - 1
If TreeList1.Nodes(i).Item("編號").ToString = dt明細.Rows.Item(j).Item("編號").ToString Then
'將節點設定為選中
TreeList1.Nodes.Item(i).CheckState = CheckState.Checked
Exit For
End If
Next j
'判斷是否存在下級節點
If node.Nodes.Count > 0 Then
'查詢下一級節點
getAllNodes(node)
End If
i = i + 1
Next
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
以上完成了本篇文章的需求,本人還是程式設計小白,如有錯誤以及更好的方法,希望大家多多指正,感謝您的閱讀
相關文章
- dev treelist 常用用法小結dev
- dev treelist和searchcontrol組合模糊查詢用法dev
- Android遍歷所有控制元件的遞迴和非遞迴實現Android控制元件遞迴
- grid 與 treelist 的區別
- nodejs遞迴資料夾獲取所有檔案路徑NodeJS遞迴
- 遞迴獲取檔案列表遞迴
- c# tcbs之遞迴方法查詢符合條件的控制元件C#遞迴控制元件
- 【DevExpress v17.2新功能預告】DevExtreme TreeListdevExpressREM
- Android中ListView控制元件onItemClick事件中獲取listView傳遞的資料AndroidView控制元件事件
- VB.net chart 控制元件使用控制元件
- 遞迴遍歷物件獲取value值遞迴物件
- android 根據控制元件的ID字串利用反射獲取UI控制元件Android控制元件字串反射UI
- Espresso 如何獲取控制元件的實時文字?Espresso控制元件
- android獲取控制元件的幾種方法Android控制元件
- Java 獲取Excel中的表單控制元件JavaExcel控制元件
- [WPF]獲取控制元件間的相對位置控制元件
- WPF執行緒中獲取控制元件的值和給控制元件賦值執行緒控制元件賦值
- android 獲取控制元件大小和設定調整控制元件的位置XYAndroid控制元件
- 【DevExpress v17.2新功能預告】增強ASP.NET TreeListdevExpressASP.NET
- Android獲取螢幕和控制元件座標Android控制元件
- Vb中控制元件的自動排列 (轉)控制元件
- iOS開發之尺寸(二):仿寫App截圖獲取控制元件大小位置iOSAPP控制元件
- dev Gridcontrol控制元件屬性部分dev控制元件
- 使用WebBrowser控制元件獲取網頁原始碼的方法Web控制元件網頁原始碼
- C#控制元件之Repeater控制元件使用C#控制元件
- 講解VB.NET定製Windows控制元件Windows控制元件
- [工作札記]02: .Net Winform控制元件TreeView最簡遞迴繫結方法ORM控制元件View遞迴
- 關於vb自定義控制元件中引用mediaplayer控制元件出錯的解決方案控制元件
- 遞迴遍歷網站所有 url遞迴網站
- WPF中TreeView控制元件如何獲取選中的TreeViewItem物件?View控制元件物件
- C#如何獲取ListView控制元件選中項的值C#View控制元件
- Dev 控制元件中的combox禁止輸入dev控制元件
- tkinter中spinbox遞增和遞減控制元件(十)控制元件
- silverlight控制元件模型之選擇控制元件和列表控制元件控制元件模型
- 利用node.js獲取頁面中的所有超連結<a>Node.js
- iOS 點選UITableViewCell上的控制元件獲取對應的celliOSUIView控制元件
- Iframe 父子窗體互調javascript方法及相互獲取控制元件JavaScript控制元件
- Android獲取dialog自定義佈局中的控制元件Android控制元件