Foxtable(狐表)用户栏目专家坐堂 → [求助] 目录树 部门值重复了


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

主题:[求助] 目录树 部门值重复了

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
[求助] 目录树 部门值重复了  发帖心情 Post By:2016/12/2 15:05:00 [只看该作者]

我按照教程,通过Node mouseclick 事件,按部门生成目录树, 但是不晓得怎么去除重复值,代码要怎么修。

 

Dim Filter As String
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 0
            Filter = "[部门] = '" & dr("部门") & "'"
        Case 1
            Filter = "[部门] = '" & dr("部门") & "' And [年份] = '" & dr("年份") & "'"
           End Select
End If
Dim s As String  = DataTables("考勤统计表").GetComboListString("部门")
output.show(s)
Tables("考勤统计表").Filter = Filter


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

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/2 15:23:00 [只看该作者]

上面的代码是做筛选的吧。和生成目录树有关系?

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
  发帖心情 Post By:2016/12/2 15:26:00 [只看该作者]

窗口 AFTERLOAD 事件是这样的:

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("考勤统计表", "年份|月份|部门")
trv.Nodes.Insert("显示所有行",0)

 

Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
trv2.BuildTree("考勤统计表", "部门")
trv2.Nodes.Insert("显示所有行",0)


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

 

按时间筛选没有问题的

[此贴子已经被作者于2016/12/2 15:26:41编辑过]

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/2 15:40:00 [只看该作者]

应该是你的部门数据有空格吧

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/2 15:42:00 [只看该作者]

执行代码清除一下空格试试


For Each dr As DataRow In DataTables("考勤统计表").DataRows
    dr("部门") = dr("部门").trim()
Next

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
  发帖心情 Post By:2016/12/2 15:43:00 [只看该作者]

按理,我想实现的效果是,打开一个节点“部门”,次节点“2016年”,这样子的,

但是现在就是有几个月的数据, 目录树里就有 那么多个部门,不是部门空值问题。


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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/2 15:45:00 [只看该作者]

Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
trv2.BuildTree("考勤统计表", "部门|年份")
trv2.Nodes.Insert("显示所有行",0)

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
  发帖心情 Post By:2016/12/2 15:54:00 [只看该作者]

是空格的问题,谢谢!


 回到顶部