如何读取数据库表记录并填充到treeview控件?(要vb.net版本的)
我的表结构为:ID,Name,Parent.
其中Parent表示父亲节点,如果是0,则表示跟节点.如果某个记录的Parent等于另一个记录的ID则表示这个记录是另一个记录的子节点,要将他们按照父子节点关系填充到treeview控件.我的代码是这样的:
Private Sub inittree(ByRef Nds As TreeNodeCollection, ByVal parentId As Integer)
conn.Open()
Dim da As New SqlDataAdapter("select * from MJCfgDoorPos", conn)
Dim mySet As New DataSet
da.Fill(mySet, "paybasic")
Dim dv As New DataView()
Dim dvrow As DataRowView
Dim tmpNode As TreeNode
'intId为数值型变量,其作用是记录并传递当前记录的ID,做为它子节点的PARENTID值
Dim intId As Integer
dv.Table = mySet.Tables("paybasic")
'parentId传递的是 additem函数中的intId.下面语句的作用是找出当前节点的子孩子集合。
dv.RowFilter = "Parent='" & parentId & "'"
'如果当前节点有孩子,则遍历所有的孩子,并调用递归函数。
For Each dvrow In dv
tmpNode = New TreeNode()
'为当前节点的各个属性赋值。
'tmpNode.Target = dvrow("nodeID")
tmpNode.Text = dvrow("Name")
'tmpNode.NavigateUrl = dvrow("Address")
intId = dvrow("Parent")
'添加一个节点
Nds.Add(tmpNode)
'调用递归函数
inittree(Nds(Nds.Count - 1).ChildNodes, intId)
Next
conn.Close()
End Sub
函数调用:
inittree(tvDoorPos.Nodes, 999)
出现了如下错误:
Syntax error in Lookup expression: Expecting keyword 'Parent' followed by a single column argument with possible relation qualifier: Parent[(<relation_name>)].<column_name>.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SyntaxErrorException: Syntax error in Lookup expression: Expecting keyword 'Parent' followed by a single column argument with possible relation qualifier: Parent[(<relation_name>)].<column_name>.
Source Error:
Line 20: dv.Table = mySet.Tables("paybasic")
Line 21: 'parentId传递的是 additem函数中的intId.下面语句的作用是找出当前节点的子孩子集合。
Line 22: dv.RowFilter = "Parent='" & parentId & "'"
Line 23: '如果当前节点有孩子,则遍历所有的孩子,并调用递归函数。
Line 24: For Each dvrow In dv
什么原因啊?我郁闷死了!!!!
请高手最好用.vb.net解答!