Foxtable(狐表)用户栏目专家坐堂 → [求助]关于BuildTree生成目录树的问题求助


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

主题:[求助]关于BuildTree生成目录树的问题求助

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


加好友 发短信
等级:小狐 帖子:362 积分:3196 威望:0 精华:1 注册:2011/4/20 1:40:00
[求助]关于BuildTree生成目录树的问题求助  发帖心情 Post By:2012/2/2 23:42:00 [只看该作者]

有一表格情况如下:

图片点击可在新窗口打开查看此主题相关图片如下:表格情况.jpg
图片点击可在新窗口打开查看

 

通过使用BuildTree生成目录树如下:


图片点击可在新窗口打开查看此主题相关图片如下:目录树展开.jpg
图片点击可在新窗口打开查看

 

代码如下:

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")

Dim userlist As DataTable
Dim cmd1 As New SQLCommand
cmd1.C
cmd1.CommandText = "select * from {用户}"
userlist = cmd1.ExecuteReader()

trv1.BuildTree(userlist,"归属企业|一级部门|二级部门|员工姓名")


问题如下:

1、不是每个公司都有分下级部门,有的没有分部门,有的只分了一个级别的部门,而有的则会细分成2个级别的部门,假如最多就分成了两级,原数据采集格式如上面表格储存形式,请问:如何在没有“一级部门”或是没有“二级部门”的时候能够正常显示出员工姓名,就是说中间的列假如存在空格则跳过该列,该空白列不生成子节点;

希望达到类型下面的效果:让没有归属部门的员工能够直接归在公司下级节点中。

 


图片点击可在新窗口打开查看此主题相关图片如下:目录树展开2.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/3 8:48:00 [只看该作者]

自动生成的目录树没有办法做到这个样,只能手工编写代码。

 


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


加好友 发短信
等级:小狐 帖子:362 积分:3196 威望:0 精华:1 注册:2011/4/20 1:40:00
  发帖心情 Post By:2012/2/3 12:07:00 [只看该作者]

      狐爸,把BuildTree函数改进一下吗!弄多一个参数“是否省略中间空列值”,确实有时候会有这样的需求呀!这样让大家都受益。

而不用每个人都写一大堆代码。

图片点击可在新窗口打开查看


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/3 12:11:00 [只看该作者]

用一个表达示例,将这几列的内容组合在一起,然后根据这个表达式列生成目录树算了,用这个方法:

 

http://www.foxtable.com/help/topics/1969.htm

 


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


加好友 发短信
等级:小狐 帖子:362 积分:3196 威望:0 精华:1 注册:2011/4/20 1:40:00
  发帖心情 Post By:2012/2/3 13:04:00 [只看该作者]

这个懂。就这样吧。

 回到顶部