做了一个部门表 TBL_部门表 有4个字段 ID,父ID,部门名称,索引 (用于目录树排序)以下代码是在窗口的AFTERLOAD里 载入目录树的代码,能正常执行,使用递归函数AddChildren
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
Dim dt As DataTable = DataTables("TBL_部门表")
tr.StopRedraw()
tr.Nodes.Clear
For Each dr As DataRow In dt.datarows
If dr.IsNull("父ID") Then
nd = tr.Nodes.Insert(dr("ID"),dr("部门名称"),dr("索引"))
Functions.Execute("AddChildren",nd,dt)
End If
Next
tr.ResumeRedraw()
tr.ExpandAll
以下是AddChildren代码能正常执行
Dim nd As WinForm.TreeNode = args(0)
Dim dt As DataTable = args(1)
Dim drs As List(of DataRow)
drs = dt.Select("[父ID] = '" & nd.name & "'")
For Each dr As DataRow In drs
Dim cd As Winform.TreeNode = nd.Nodes.Insert(dr("ID"),dr("部门名称"),dr("索引"))
Functions.Execute("AddChildren",cd,dt)
Next
现在 按上移 下移 都能正常修改 并保存排序 排序是将每个节点的INDEX保存在数据库的索引列。
问题出现在 树的LEVEL 0 跟1 也就是第一级跟第二级 都能手工修改排序 到第三级 第四级 能正常保存INDEX 但在载入的时候,并不能按INDEX的值 正常载入数据 请问这个问题出在哪里?
[此贴子已经被作者于2021/2/7 20:42:48编辑过]