登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

樱之花

叶散的时候,你明白欢聚;花谢的时候,你明白青春.

 
 
 

日志

 
 
关于我

分类中“我的实验室”是我在日常工作中的一些知识总结,有些写的比较匆忙,可能大家在阅读时会产生困扰,后期有时间我会重新整理编辑,谢谢大家的到访,您们的支持是我前进的动力!

VB.NET树型递归  

2008-03-17 08:42:12|  分类: .NET/C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Imports Microsoft
Imports System
Imports System.Net
Imports System.Data
Imports System.Data.SqlClient
Imports System.Xml
Imports System.IO
Imports Microsoft.VisualBasic

Public Class Form1
    Dim ds As New DataSet()
    Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
        Dim ndsel As New TreeNode()
        ' ndsel = TreeView1

    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim CN As New SqlConnection()
        Try
            '初始化连接字符串
            CN.ConnectionString = "data source=172.18.188.25;initial catalog=eProcessDB;persist security info=False;user id=sa;Password=admin@sa;"
            CN.Open()
            Dim adp As SqlDataAdapter = New SqlDataAdapter("select * from test_ryq", CN)
            adp.Fill(ds)
            ' Me.ViewState("ds") = ds
        Catch ex As Exception

        Finally
            '关闭连接
            CN.Close()
        End Try
        '调用递归函数,完成树形结构的生成
        AddTree(0, Nothing)
        TreeView1.ExpandAll()

    End Sub
    '递归添加树的节点
    Private Sub AddTree(ByVal ParentID As Integer, ByVal pNode As TreeNode)
        ' Dim ds As DataSet
        'ds = Me.ViewState("ds")
        Dim dvTree As New DataView()
        dvTree = New DataView(ds.Tables(0))
        '过滤ParentID,得到当前的所有子节点
        dvTree.RowFilter = "P_ID1 = " + ParentID.ToString

        Dim Row As DataRowView
        For Each Row In dvTree
            Dim Node As New TreeNode()
            If pNode Is Nothing Then  '判断是否根节点
                '添加根节点
                Node.Text = Row("MEMO").ToString()
                TreeView1.Nodes.Add(Node)
                '   Node.Expanded = True
                '再次递归
                AddTree(Int32.Parse(Row("ID1").ToString()), Node)
            Else
                '̀添加当前节点的子节点
                Node.Text = Row("MEMO").ToString()
                pNode.Nodes.Add(Node)
                'Node.Expanded = True
                '再次递归
                AddTree(Int32.Parse(Row("ID1").ToString()), Node)
            End If
        Next
    End Sub

End Class

  评论这张
 
阅读(2083)| 评论(1)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018