Foxtable(狐表)用户栏目专家坐堂 → [求助]保存目录树名称


  共有1366人关注过本帖树形打印复制链接

主题:[求助]保存目录树名称

帅哥哟,离线,有人找我吗?
天一生水
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1137 积分:11224 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]保存目录树名称  发帖心情 Post By:2017/12/7 14:30:00 [只看该作者]

遍历目录树所有节点,将每个根节点及其下的各级次节点用“,”相连,形成一行;这样,有多少根节点就有多少行。将上述字符串保存到“表A”的[文本]列,请老师帮助,谢谢!

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
For
Each nd As WinForm.TreeNode In trv.AllNodes
    
......

 

    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/7 14:55:00 [只看该作者]

请举例说明如何用,相连,合成的文本是怎样的?

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each nd As WinForm.TreeNode In trv.Nodes
    Dim nr As Row = Tables("表A").addnew
    For Each cnd As WinForm.TreeNode In nd.AllNodes
        If cnd.Nodes.Count = 0 Then
            output.Show(cnd.FullPath)
        End If
    Next
Next


 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1137 积分:11224 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2017/12/7 15:46:00 [只看该作者]

目录树图像:

图片点击可在新窗口打开查看此主题相关图片如下:360截图20171207153924562.jpg
图片点击可在新窗口打开查看

将目录树保存为这样的格式,便于放入文章中编辑:
2015-05-15,事件名称,事件备注,......(可能多级节点)
2015-08-19,事件名称,事件备注,......
......(可能多个根节点)

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/7 15:52:00 [只看该作者]

参考2楼代码。有问题再说。

 

多级节点如何合成显示?请举例说明。


 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1137 积分:11224 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2017/12/8 11:58:00 [只看该作者]

请看附件:

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

 

我有两点需要老师帮助:

1、保存按钮。将目录树节点名称保存到[文本]列,格式如示例;

2、根节点排序。我的根节点都是日期,能否对根节点进行排序。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/8 12:18:00 [只看该作者]

1、

 

Dim nr As Row = Tables("事件表").current
Dim str As String = ""
For Each nd As WinForm.TreeNode In trv.Nodes
    For Each cnd As WinForm.TreeNode In nd.AllNodes
        If cnd.Nodes.Count = 0 Then
            str &= cnd.FullPath.replace("\", ",") & vbcrlf
        End If
    Next
Next
nr("文本") = str

 

2、

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
For i As Integer = 0 To trv.Nodes.count-1
    Dim d1 As Date = trv.nodes(i).text
    Dim idx As Integer = i
    For j As Integer = i+1 To trv.nodes.count-1
        Dim d2 As Date = trv.nodes(j).text
        If d1 > d2 Then
            idx = j
            d1 = d2
        End If
    Next
    Dim node = trv.nodes(idx)
    For j As Integer = i To idx-1
        node.MoveUp
    Next
Next


 回到顶部