Foxtable(狐表)用户栏目专家坐堂 → [求助]自己做的加载树如何选择多项


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

主题:[求助]自己做的加载树如何选择多项

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]自己做的加载树如何选择多项  发帖心情 Post By:2020/4/20 22:01:00 [只看该作者]

系统内置的加载树,可以通过按CTRL键选择不连续的项目进行加载,我通过窗口控件TreeView自己做的加载树如何实现这个功能,请老师指导下,谢谢!

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


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

实现不了。那是一个改造过的目录树,没有开放这个功能

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2020/4/20 22:50:00 [只看该作者]

老师,我准备用AfterCheckNode来实现不连续的加载数据,并且准备让用户自己设定加载条件,但现在有个问题,我不知用户会设置多少层级,下面一个按钮的代码用于根据后台数据生成加载树,红字部分我会改用变量
Dim trv_对外采购 As WinForm.TreeView = e.Form.Controls("TreeView_对外采购")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.C ommandText = "S ELECT DISTINCT 类别,我方简称 From {合同} Where 属性 = '对外' And 类型 = '采购'" 'DISTINCT关键词,返回的内容才是不重复的
dt = cmd.ExecuteReader()
trv_对外采购.BuildTree(dt,"类别|我方简称")
trv_对外采购.Nodes.Insert("显示所有行",0)

下面的代码是帮助文件中的,这个同步选择状态直接可以拿来用了,由于现在不知层级,但每个层级的内容是可以读取变量知道, 也就参照不了帮助文件中的例子了,能以此为基本帮我写下代码吗?把加载的代码加进去,或帮我找个例子,我自己学习下
AfterCheckNode事件
For Each nd As WinForm.TreeNode In e.node.AllNodes  '同步子节点选中状态
    If nd.FullPath.StartsWith(e.node.FullPath) Then
        nd.Checked = e.node.Checked
    End If
Next
If e.node.Checked = False Then '如果本次操作为清除节点选中状态
    Dim pd As WinForm.TreeNode = e.node.ParentNode '获取父节点
    Do While pd IsNot Nothing 
        pd.Checked = False '清除父节点选中状态
        pd  = pd.ParentNode '继续获取上一层级的父节点
    Loop
End If


另外,系统自带的加载树我能直接拿到窗口中用吗,如果行,就省事了
[此贴子已经被作者于2020/4/20 22:54:23编辑过]

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


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

帮助的代码就是针对所有层次的。具体上传实例说明

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2020/4/20 23:04:00 [只看该作者]

老师,我找到合适的代码用在项目中的,原来可以用筛选树的代码例子,就是帮助文件中的“可以多选的筛选树”这一节,拿来就用,现在就一点问题,遇到日期类,我如何也能像内置的加载树哪样设置成按年或月或日加载
我打算做一个与内置加载树一样的窗口,这个窗口论坛中有现成的例子吗?
[此贴子已经被作者于2020/4/21 8:17:00编辑过]

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


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

参考:http://www.foxtable.com/webhelp/topics/0917.htm,看第二个例子

 回到顶部