Foxtable(狐表)用户栏目专家坐堂 → 老师您好,如何通过目录树的复选组合,合成对应的组合表


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

主题:老师您好,如何通过目录树的复选组合,合成对应的组合表

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/29 10:49:00 [显示全部帖子]

1、勾选目录树的时候,用vars全局变量记录你勾选的先后顺序。

 

2、表格加入一个排序列,勾选目录树的时候,给排序列赋值。

 

3、最后根据排序列排序显示结果。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/29 16:54:00 [显示全部帖子]

以下是引用hfapplehao在2019/4/29 16:26:00的发言:

以上代码运行后,可以根据选择的复选框进行组合,但是却不能根据顺序组合,比如目录树选择顺序是1-3-2,表的的数据组合却是1-2-3

初步推测是 这段代码出了问题,For Each nd In trv.AllNodes,因为遍历事件是按照目录树从上往下的顺序来的,所以不管你怎么选择目录树,系统都会默认从上往下的顺序,不知道怎么修改才好,求大神支招...

不知道哪里的代码除了问题。

 

你勾选目录树的时候,记录值

 

afterLoad事件

 

vars("节点") = new List(Of String)

 

勾选的时候,记录值

 

Dim ls As List(Of string) = vars("节点")

If e.node.checked then

    ls.add(e.node.name)

Else

    ls.remove(e.node.name)

End If

vars("节点") = ls

 

msgbox(string.join(",", ls.toarray))

[此贴子已经被作者于2019/4/29 16:55:49编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/30 9:23:00 [显示全部帖子]

 

勾选treeview的时候啊,AfterCheckNode事件啊。

 

 


 回到顶部