以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  treeview nodes.insert 里index的排序问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=160596)

--  作者:aoc103
--  发布时间:2021/2/7 20:41:00
--  treeview nodes.insert 里index的排序问题
做了一个部门表  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编辑过]

--  作者:aoc103
--  发布时间:2021/2/7 20:45:00
--  
上传了附件 迟迟不能在论坛里看到
[此贴子已经被作者于2021/2/7 20:44:56编辑过]

--  作者:有点蓝
--  发布时间:2021/2/7 20:49:00
--  
……
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.select("父ID is null","索引")
        nd = tr.Nodes.Add(dr("ID"),dr("部门名称"))
        Functions.Execute("AddChildren",nd,dt)
Next

--  作者:aoc103
--  发布时间:2021/2/7 20:55:00
--  
牛逼 直接解决问题