Foxtable(狐表)用户栏目专家坐堂 → [求助] 生成目录树排列顺序


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

主题:[求助] 生成目录树排列顺序

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


加好友 发短信
等级:六尾狐 帖子:1359 积分:12004 威望:0 精华:0 注册:2012/3/5 11:32:00
[求助] 生成目录树排列顺序  发帖心情 Post By:2013/1/30 8:59:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT DISTINCT 部门,课,系,班,班别 From {人员资料}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"部门|课|系|班|班别")
trv.Nodes.Insert("加载所有数据",0)

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

我用帮助中的代码 生成了 目录树, 如图,  请问如果 把 总经理 调上去第一位?


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/30 9:12:00 [只看该作者]

 你对你的数据表进行一下排序,比如,总经理的行调到最上方去,然后保存一下数据表。然后编写代码。按照_Sortkey排序来生成

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT DISTINCT 部门,课,系,班,班别,[_SortKey] From {人员资料}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"部门|课|系|班|班别","","_Sortkey")
trv.Nodes.Insert("加载所有数据",0)


[此贴子已经被作者于2013-1-30 9:12:41编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1359 积分:12004 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2013/1/30 10:55:00 [只看该作者]

老师 这样  目录树变成了 很多个 母选项


图片点击可在新窗口打开查看此主题相关图片如下:未命名.bmp
图片点击可在新窗口打开查看

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

请帮忙看下附件.


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/30 12:01:00 [只看该作者]

 好的,这样弄一下就行了。测试有效。

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "select distinct 部门, 课, 系, 班, 班别, (select top 1 员工编号 from {人员资料} as a where a.部门 = b.部门 ) as 员工编号  from {人员资料} as b"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"部门|课|系|班|班别", "", "员工编号")
trv.Nodes.Insert("加载所有数据",0)

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


加好友 发短信
等级:六尾狐 帖子:1359 积分:12004 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2013/1/30 13:38:00 [只看该作者]

(select top 1 员工编号 from {人员资料} as a where a.部门 = b.部门 ) as 员工编号  from {人员资料} as b

 

 

可以了 老师 ,想问下 这个是扫描意思呢? 


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/30 13:53:00 [只看该作者]

以下是引用ljh29206在2013-1-30 13:38:00的发言:

(select top 1 员工编号 from {人员资料} as a where a.部门 = b.部门 ) as 员工编号  from {人员资料} as b

 

 

可以了 老师 ,想问下 这个是扫描意思呢? 


意思是部门相同的,取出最前一个人的员工编号。

 回到顶部