Foxtable(狐表)用户栏目专家坐堂 → 关于生成目录树加载的问题


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

主题:关于生成目录树加载的问题

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


加好友 发短信
等级:幼狐 帖子:111 积分:839 威望:0 精华:0 注册:2020/2/13 22:59:00
关于生成目录树加载的问题  发帖心情 Post By:2021/7/21 16:56:00 [只看该作者]

老师您好,有个问题请教一下:我有一个表单,需要根据“负责人”这一列设置目录树加载数据;但是“负责人”这一列是个多值字段,正常设置以后,“负责人”里面有几个名字的,他也当做是一个值出现在目录树里面;如何让目录树能够拆分这种多值字段,然后只是显示不重复的一个名字呢?谢谢!

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/21 17:12:00 [只看该作者]

那要手工生成目录树节点,比如

dim lst as new list(of string)
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
for each s as string in DataTables("biao A").GetComboListString("负责人").split({"|",","})
if lst.contains(s) = false then
trv.nodes.add(s,s)
lst.add(s)
end if
next

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


加好友 发短信
等级:幼狐 帖子:111 积分:839 威望:0 精华:0 注册:2020/2/13 22:59:00
  发帖心情 Post By:2021/7/21 17:27:00 [只看该作者]

感谢蓝老师;我之前是这样写的:



Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dtt,"申请项目管理|负责人")

现在想要达到刚刚说的那个效果,应该怎么修改 呢?谢谢噢

代码的前半部分发不出;我就截取了后面这个;
[此贴子已经被作者于2021/7/21 17:29:09编辑过]

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/21 17:28:00 [只看该作者]

看2楼,看不懂就上传实例

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


加好友 发短信
等级:幼狐 帖子:111 积分:839 威望:0 精华:0 注册:2020/2/13 22:59:00
  发帖心情 Post By:2021/7/21 17:32:00 [只看该作者]

主要是在“负责人”前面还有一层。“已申请项目管理”,这个应该如何加进去呢?谢谢噢

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/21 17:37:00 [只看该作者]

for each a as string in DataTables("biao A").Getvalues("已申请项目管理")
lst.clear
dim nd = trv.nodes.add(a,a)
for each s as string in DataTables("biao A").GetComboListString("负责人","已申请项目管理='" & a & "'").split({"|",","})
if lst.contains(s) = false then
nd.nodes.add(s,s)
lst.add(s)
end if
next
next

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


加好友 发短信
等级:幼狐 帖子:111 积分:839 威望:0 精华:0 注册:2020/2/13 22:59:00
  发帖心情 Post By:2021/7/21 17:56:00 [只看该作者]


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

不好意思蓝老师,还是搞不定;麻烦帮忙看看怎么写哦。附件是之前的代码,是从SQL数据库加载的;谢谢哈

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/22 8:47:00 [只看该作者]

trv.BuildTree(dtt,"申请项目管理|负责人")

改为

for each a as string in dtt.Getvalues("申请项目管理")
lst.clear
dim nd = trv.nodes.add(a,a)
for each s as string in dtt.GetComboListString("负责人","申请项目管理='" & a & "'").split({"|",","})
if lst.contains(s) = false then
nd.nodes.add(s,s)
lst.add(s)
end if
next
next

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


加好友 发短信
等级:幼狐 帖子:111 积分:839 威望:0 精华:0 注册:2020/2/13 22:59:00
  发帖心情 Post By:2021/7/22 17:16:00 [只看该作者]

收到!谢谢蓝老师,可以了;

 回到顶部