Foxtable(狐表)用户栏目专家坐堂 → 如何把长目录树路径分开,组成筛选加载的条件


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

主题:如何把长目录树路径分开,组成筛选加载的条件

美女呀,离线,留言给我吧!
采菊东篱下
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
如何把长目录树路径分开,组成筛选加载的条件  发帖心情 Post By:2024/4/14 21:43:00 [只看该作者]


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

作为基本信息资料,我把分页显示的规律的地址分列显示,并写了代码自动排序,可加载目录树最大层数只能去到6层,超过第6层报错,为让这些关键信息都能完整显示在加载目录树里,方便通过目录树下的文本框、按钮,定位、加载,我已经成功把目录合成为上图效果,即把巷、号、房三列用\分隔,合并为一层,姓名、手机号码两列也用\分隔,合并为一层,这样层数缩减了,效果一看也明白代表什么,就是到勾选目录树时如何安\把它们分开,组合成加载条件,我通过下面的代码测试,弹出的数据安层逐层弹出,用\分隔的内容重复出现,如何让它们不重复出现?
Dim trv As WinForm.TreeView = e.Sender
For Each nd In trv.AllNodes
Dim rts() As String = nd.FullPath.Split("\")
MessageBox.Show(nd.FullPath)
Next

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/14 22:21:00 [只看该作者]

什么东西重复出现了?截图举例说明一下

如果要和FullPath的分隔区分,就不要在自己的节点使用【\】做分隔符,改为使用其它符号

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2024/4/14 22:37:00 [只看该作者]


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

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



 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2024/4/14 22:38:00 [只看该作者]


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

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2024/4/14 22:39:00 [只看该作者]

依上面的次序出现,我只要最后一次弹窗的效果。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2024/4/14 22:43:00 [只看该作者]

我是刻意把分隔符写成与FullPath默认的分隔符一样,这样方便分离数组,如改为其他符号,又要费一番心思写代码把它们分离、组合成最后一张图的效果,我只要最后一次出现的效果,面前出现的不要。
[此贴子已经被作者于2024/4/14 23:13:48编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2024/4/14 22:47:00 [只看该作者]

哦勾选了三层,因此出现了三个弹窗,同一路径下只取最后一层的路径,其他的不要。

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/14 23:12:00 [只看该作者]

代码放在什么事件的?完整代码发上来看看。

可以判断节点是否有子节点,就可以知道是不是最后一层,但是觉得没有必要判断所有节点

For Each nd In trv.AllNodes
if nd.nodes,count  = 0
Dim rts() As String = nd.FullPath.Split("\")
MessageBox.Show(nd.FullPath)
end if
Next
[此贴子已经被作者于2024/4/14 23:13:37编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2024/4/14 23:29:00 [只看该作者]

我说的最后一层是指勾选的最后一层,它不一定是目录树同一路径的最后一层,是不用循环,直接判断是否已勾选的最后一层,如果是取其路径就行,筛选树的完整代码我还在琢磨,目录村改为这样显示后原来的代码已经不合用了。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2024/4/14 23:32:00 [只看该作者]

代码放在AfterCheckNode事件,勾选字节后筛选数据。

 回到顶部
总数 25 1 2 3 下一页