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
评论