以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]设计目录树  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103787)

--  作者:10059
--  发布时间:2017/7/17 9:27:00
--  [求助]设计目录树


图片点击可在新窗口打开查看此主题相关图片如下:tim截图20170717092147.png
图片点击可在新窗口打开查看



图片点击可在新窗口打开查看此主题相关图片如下:tim截图20170717092106.png
图片点击可在新窗口打开查看

请问老师们,怎么样可以用图一中表的数据生成图二的目录树呢??


--  作者:有点甜
--  发布时间:2017/7/17 9:43:00
--  
 做个foxtable例子上传上来。
--  作者:有点甜
--  发布时间:2017/7/17 9:47:00
--  

参考代码

 

Dim trv As WinForm.TreeView = forms("窗口1").Controls("treeview1")
For Each dr As DataRow In DataTables("表A").Select("")
    Dim nd1 = trv.nodes.Add(dr("第一列"))
    For Each s1 As String In dr("第二列").split(",")
        Dim nd2 = nd1.nodes.add(s1)
    Next
Next


--  作者:10059
--  发布时间:2017/7/17 10:00:00
--  

例子如下

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:有点甜
--  发布时间:2017/7/17 11:24:00
--  
Dim trv As WinForm.TreeView = e.Form.Controls("treeview1")
For Each dr As DataRow In DataTables("表A").Select("")
    Dim nd1 = trv.nodes.Add(dr("一级"))
    For Each s1 As String In dr("二级").split(new Char() {",", chr(-23636)})
        Dim nd2
        If s1 = Nothing Then
            nd2 = nd1.nodes.add("空")
        Else
            nd2 = nd1.nodes.add(s1)
        End If
        For Each s2 As String In dr("三级").split(new Char() {",", chr(-23636)})
            Dim nd3 = nd2.nodes.add(s2)
        Next
    Next
Next

--  作者:10059
--  发布时间:2017/7/17 16:17:00
--  
甜老师,还有个问题就是我想每一级有个不一样的图标,代码该怎么写呢??


--  作者:有点甜
--  发布时间:2017/7/17 16:22:00
--  

设置节点的iconfile

 

http://www.foxtable.com/webhelp/scr/0901.htm

 


--  作者:10059
--  发布时间:2017/7/17 17:31:00
--  

谢谢甜老师,前面的问题已解决。

 

现在又有个新问题,如下图所示的目录树,我想将所有有勾选的节点,将一级节点的值放到表的第一列

二级节点的值放到表的第二列,三级节点的值放到表的第三列,请问代码该怎么写呢??

 


图片点击可在新窗口打开查看此主题相关图片如下:tim截图20170717172045.png
图片点击可在新窗口打开查看

 


 


--  作者:有点甜
--  发布时间:2017/7/17 17:40:00
--  

你需要这个?参考下。不会做上传实例。

 

http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=101757&authorid=0&page=0&star=1