Foxtable(狐表)用户栏目专家坐堂 → 窗口中树控件的初始化


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

主题:窗口中树控件的初始化

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


加好友 发短信
等级:婴狐 帖子:5 积分:96 威望:0 精华:0 注册:2014/2/9 9:41:00
窗口中树控件的初始化  发帖心情 Post By:2014/2/9 9:47:00 [只看该作者]

请问:

 

在菜单中点击一个按钮后,弹出的窗口中,我放了一个树控件,这个控件的节点需要从表中查询出来,请问如何写这些代码?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/9 21:03:00 [只看该作者]

 根据一列生成目录树


 根据多列生成目录树


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


加好友 发短信
等级:婴狐 帖子:5 积分:96 威望:0 精华:0 注册:2014/2/9 9:41:00
  发帖心情 Post By:2014/2/10 9:40:00 [只看该作者]

您好,您个我的链接我看了,这个树控件的

BuildTree(DataTableName, Columns, Filter, Sort)

方法确实可以初始化节点,但是好像只能根据一个表中的列,如果各层节点在不同的表呢?

 

我有三个表

表1:员工信息表,记录员工id对应的姓名
表2:员工在职状态表,记录员工的部门id
表3:部门设置表 记录部门的id对应的名称

以上3个表我做了2级关联,目的是根据员工姓名找到他的部门名称

 

树控件有2层节点,父节点是部门名称,子节点是员工姓名,这样怎么做呢?


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


加好友 发短信
等级:婴狐 帖子:5 积分:96 威望:0 精华:0 注册:2014/2/9 9:41:00
  发帖心情 Post By:2014/2/10 10:03:00 [只看该作者]

您好,附件是我的工程,请参考

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


加好友 发短信
等级:婴狐 帖子:5 积分:96 威望:0 精华:0 注册:2014/2/9 9:41:00
  发帖心情 Post By:2014/2/10 10:07:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:劳资管理系统 _study.table


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/10 10:24:00 [只看该作者]

.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:劳资管理系统 _study.table


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


加好友 发短信
等级:婴狐 帖子:5 积分:96 威望:0 精华:0 注册:2014/2/9 9:41:00
  发帖心情 Post By:2014/2/10 17:53:00 [只看该作者]

您好,我看了帮助,在里面找到了用SQL实现的方法:

 

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "Select d.部门名称 As 部门名称,a.员工id As 员工id, a.姓名 As 姓名 From {员工信息表} a INNER JOIN (Select b.员工id As 员工id, c.部门名称 As 部门名称 From {员工岗位状态信息表} b INNER JOIN  {部门设置} c On b.部门id=c.部门id Where b.是否第一岗位= True) d On a.员工id=d.员工id Group By d.部门名称"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"部门名称|姓名")
trv.Nodes.Insert("加载所有数据",0)

 

但是执行后弹出:

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

 

好像是sql出了问题,能不能帮我看看这个sql问题在哪里?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/10 17:54:00 [只看该作者]

纸上不谈兵,请上例子.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/10 18:00:00 [只看该作者]

select *,(select 姓名 from {员工信息表} a where a.员工id=b.员工id ) as 姓名 from {员工岗位状态信息表} b inner join {部门设置} c on b.部门id=c.部门id

 回到顶部