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
以上完成了本篇文章的需求,本人還是程式設計小白,如有錯誤以及更好的方法,希望大家多多指正,感謝您的閱讀
相關文章
- Android遍歷所有控制元件的遞迴和非遞迴實現Android控制元件遞迴
- grid 與 treelist 的區別
- nodejs遞迴資料夾獲取所有檔案路徑NodeJS遞迴
- VB.net chart 控制元件使用控制元件
- 遞迴獲取檔案列表遞迴
- android獲取控制元件的幾種方法Android控制元件
- [WPF]獲取控制元件間的相對位置控制元件
- Espresso 如何獲取控制元件的實時文字?Espresso控制元件
- Java 獲取Excel中的表單控制元件JavaExcel控制元件
- WPF執行緒中獲取控制元件的值和給控制元件賦值執行緒控制元件賦值
- 遞迴遍歷物件獲取value值遞迴物件
- C#控制元件之Repeater控制元件使用C#控制元件
- tkinter中spinbox遞增和遞減控制元件(十)控制元件
- [工作札記]02: .Net Winform控制元件TreeView最簡遞迴繫結方法ORM控制元件View遞迴
- 鴻蒙安全控制元件之位置控制元件簡介鴻蒙控制元件
- c# 獲取當前方法事件對應的控制元件C#事件控制元件
- 鴻蒙安全控制元件之儲存控制元件簡介鴻蒙控制元件
- 鴻蒙安全控制元件之貼上控制元件簡介鴻蒙控制元件
- VB 獲取剪貼簿的內容
- 遞迴遍歷網站所有 url遞迴網站
- 高dpi下,Vb.net調整控制元件位置的小經驗控制元件
- Flutter 之 自定義控制元件Flutter控制元件
- 最新情報:所有的遞迴都可以改寫成非遞迴?遞迴
- JavaScript獲取兩個日期之間所有的日期JavaScript
- 快取遞迴計算快取遞迴
- 遞迴樹形查詢所有分類遞迴
- QT佈局之控制元件空隙QT控制元件
- Devexpress 控制元件學習記錄(一:BarManager 控制元件、XtraTabbedMdiManager 控制元件)devExpress控制元件
- 函式之遞迴函式遞迴
- 【WEB自動化測試之控制元件定位】基於HTML5控制元件的唯一控制元件屬性定位Web控制元件HTML
- QT之控制元件疊加顯示QT控制元件
- Axure之支付寶官方控制元件庫控制元件
- Flutter 之 Scaffold 、AppBar 控制元件詳解FlutterAPP控制元件
- WPF中繼承ItemsControl子類控制元件資料模板獲取選中屬性中繼繼承控制元件
- 獲取gridview所有行的idView
- 直播原始碼,獲取兩個日期之間的所有日期原始碼
- React 折騰記 - (11) 結合Antd選單控制元件(遞迴遍歷元件)及常規優化React控制元件遞迴優化
- React 折騰記 – (11) 結合Antd選單控制元件(遞迴遍歷元件)及常規優化React控制元件遞迴優化