这是我写的从数据库中读出分类的代码,能过两次查询循环写入TreeView.
我的方法不知道好不好.如果哪位有更好的办法,教教我....
Public Sub LoadVocationTree(ByVal tvVocation As TreeView)
tvVocation.Nodes.Clear()
Dim root As TreeNode = New TreeNode("行业")
root.Tag = 0
root.ImageIndex=0
root.SelectedImageIndex = 0
tvVocation.Nodes.Add(root)
Dim sql As String = "Select C_Code,C_Name From TC_Vocation ORDER BY C_CODE"
Dim cmd As New SqlClient.SqlCommand(sql, Me.cn)
cn.Open()
Dim dr As SqlDataReader = cmd.ExecuteReader
Dim node As TreeNode
While dr.Read()
If Right(dr("C_Code"), 4) = 0 Then
node = root.Nodes.Add(dr("C_Name").ToString())
node.Tag = CType(dr("C_Code"), String)
node.ImageIndex = 1
node.SelectedImageIndex = 1
LoadSubVocationTree(node)
End If
End While
root.Expand()
dr.Close()
cmd.Dispose()
cn.Close()
End Sub
Public Sub LoadSubVocationTree(ByVal pNode As TreeNode)
Dim Parent As String = CType(pNode.Tag, String)
Dim cn1 As New SqlClient.SqlConnection
cn1.ConnectionString = Me.conn.ConnectionString
Dim sql As String = "Select C_Code,C_Name From TC_Vocation ORDER BY C_CODE"
Dim cmd As New SqlClient.SqlCommand(sql, cn1)
cn1.Open()
Dim dr As SqlClient.SqlDataReader = cmd.ExecuteReader()
Dim node As TreeNode
While dr.Read()
If Left(dr("C_Code"), 2) = Left(Parent, 2) And Right(dr("C_Code"), 4) <> 0 Then
node = pNode.Nodes.Add(dr("C_Name").ToString())
node.Tag = CType(dr("C_Code"), Integer)
node.ImageIndex=1
node.SelectedImageIndex = 1
LoadSubVocationTree(node)
End If
End While
dr.Close()
cmd.Dispose()
cn1.Dispose()
End Sub
我的方法不知道好不好.如果哪位有更好的办法,教教我....
Public Sub LoadVocationTree(ByVal tvVocation As TreeView)
tvVocation.Nodes.Clear()
Dim root As TreeNode = New TreeNode("行业")
root.Tag = 0
root.ImageIndex=0
root.SelectedImageIndex = 0
tvVocation.Nodes.Add(root)
Dim sql As String = "Select C_Code,C_Name From TC_Vocation ORDER BY C_CODE"
Dim cmd As New SqlClient.SqlCommand(sql, Me.cn)
cn.Open()
Dim dr As SqlDataReader = cmd.ExecuteReader
Dim node As TreeNode
While dr.Read()
If Right(dr("C_Code"), 4) = 0 Then
node = root.Nodes.Add(dr("C_Name").ToString())
node.Tag = CType(dr("C_Code"), String)
node.ImageIndex = 1
node.SelectedImageIndex = 1
LoadSubVocationTree(node)
End If
End While
root.Expand()
dr.Close()
cmd.Dispose()
cn.Close()
End Sub
Public Sub LoadSubVocationTree(ByVal pNode As TreeNode)
Dim Parent As String = CType(pNode.Tag, String)
Dim cn1 As New SqlClient.SqlConnection
cn1.ConnectionString = Me.conn.ConnectionString
Dim sql As String = "Select C_Code,C_Name From TC_Vocation ORDER BY C_CODE"
Dim cmd As New SqlClient.SqlCommand(sql, cn1)
cn1.Open()
Dim dr As SqlClient.SqlDataReader = cmd.ExecuteReader()
Dim node As TreeNode
While dr.Read()
If Left(dr("C_Code"), 2) = Left(Parent, 2) And Right(dr("C_Code"), 4) <> 0 Then
node = pNode.Nodes.Add(dr("C_Name").ToString())
node.Tag = CType(dr("C_Code"), Integer)
node.ImageIndex=1
node.SelectedImageIndex = 1
LoadSubVocationTree(node)
End If
End While
dr.Close()
cmd.Dispose()
cn1.Dispose()
End Sub
回复Comments
作者:
{commentrecontent}