栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

VB.NET:DEV控件之TreeList控件-获取TreeList所有Node(递归)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

VB.NET: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


 

以上完成了本篇文章的需求,本人还是编程小白,如有错误以及更好的方法,希望大家多多指正,感谢您的阅读

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/979846.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号