以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- treeview nodes.insert 里index的排序问题 (http://foxtable.net/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 -- 牛逼 直接解决问题 |