以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  递归函数的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=146301)

--  作者:18365900066
--  发布时间:2020/2/20 23:06:00
--  递归函数的问题

2、在窗口中加入一个目录树控件和一个按钮,按钮的代码为:

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim
nd As WinForm.TreeNode
Dim
dt As DataTable = DataTables("A")
tr
.StopRedraw()
tr
.Nodes.Clear
tr
.Nodes.Add("全部")
For
Each dr As DataRow In dt.datarows
    If dr.IsNull("
父键") Then
       
nd = tr.Nodes.Add(dr("
"),dr("标题"))
        Functions.Execute("AddChildren",nd,dt)
    End If

Next

tr
.ResumeRedraw()

单击此按钮,即可根据“父键”和“键”两列的值,生成目录树。


如果把第一行和第二行和第三行用权限隐藏, 这样,就生成不了了, 

应该怎么改这个代码呢?   

最高等级的 那个 父键  不能有 上一级么?



[此贴子已经被作者于2020/2/21 0:56:40编辑过]

--  作者:blsu33
--  发布时间:2020/2/20 23:47:00
--  
可以 的  父 还是 子  都只是 的代号名字而已  
--  作者:blsu33
--  发布时间:2020/2/20 23:51:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20200220235018.png
图片点击可在新窗口打开查看

--  作者:blsu33
--  发布时间:2020/2/20 23:52:00
--  
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim
 nd As WinForm.TreeNode  
Dim
 dt As DataTable = DataTables("A")
tr
.StopRedraw()
tr
.Nodes.Clear
tr
.Nodes.Add("全部")
For
 Each dr As DataRow In dt.datarows
    If dr("父键
")=0 Then
        
nd = tr.Nodes.Add(dr("
"),dr("标题"))
        Functions.Execute("AddChildren",nd,dt)
    End If

Next

tr
.ResumeRedraw()
--  作者:18365900066
--  发布时间:2020/2/20 23:58:00
--  
blsu33  谢谢您
我去试试

--  作者:blsu33
--  发布时间:2020/2/21
--  
Functions.Execute("AddChildren",nd,dt)  怎么 写的 也要改下
--  作者:18365900066
--  发布时间:2020/2/21 0:10:00
--  

已上传附件

[此贴子已经被作者于2020/2/21 0:53:06编辑过]

--  作者:18365900066
--  发布时间:2020/2/21 0:11:00
--  

已上传附件

[此贴子已经被作者于2020/2/21 0:54:16编辑过]

--  作者:blsu33
--  发布时间:2020/2/21 0:19:00
--  
稍等  您要是方便 上传例子
--  作者:blsu33
--  发布时间:2020/2/21 0:23:00
--  

2、在窗口中加入一个目录树控件和一个按钮,按钮的代码为:

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim
 nd As WinForm.TreeNode
Dim
 dt As DataTable = DataTables("A")
tr
.StopRedraw()
tr
.Nodes.Clear
tr
.Nodes.Add("全部")
For
 Each dr As DataRow In dt.datarows
    If dr("
父键")=0 Then
        
nd = tr.Nodes.Add(dr("
"),dr("标题"))
        Functions.Execute("AddChildren",nd,dt)
    End If

Next

tr
.ResumeRedraw()

单击此按钮,即可根据“父键”和“键”两列的值,生成目录树