帮忙看一下treeview的递归节点问题,我已经快晕了
数据结构(数据库:部门)
部门编号 部门名称 父级编号
000 公司
001 财务部 000
002 办公室 000
003 市场部 000
003001 市场一部 003
003002 市场二部 003
代码:
Dim myview As DataView
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
Dim mycommand As New SqlCommand("select * from 部门", SqlConnection1)
Dim myadapter As New SqlDataAdapter(mycommand)
Dim myset As New DataSet()
SqlConnection1.Open()
myadapter.Fill(myset, "all")
SqlConnection1.Close()
myview = myset.Tables(0).DefaultView
myview.RowFilter = ""
Session("view") = myview
treeload(TreeView1.Nodes, "000")
End If
End Sub
Sub treeload(ByVal snodes As TreeNodeCollection, ByVal sparentid As String)
myview.RowFilter = "父级编号 =" & sparentid
Dim i As Integer
For i = 0 To myview.Count - 1
Dim mynode As TreeNode
mynode = New TreeNode()
mynode.ID = myview(i)(0)
mynode.Text = myview(i)(1)
snodes.Add(mynode)
treeload(mynode.Nodes, myview(i)(0))
Next
End Sub
运行出错:mynode.ID = myview(i)(0) 索引 1 不是非负数且小于总行数
如果将treeload里的treeload(mynode.Nodes, myview(i)(0))去掉,遍历一边是可以将二级目录:财务部,办公室,市场部,显示出来,可当递归时就出错
帮我看一下是什么原因,我真的已经晕了