Foxtable(狐表)用户栏目专家坐堂 → [求助]根据多列内容生成筛选树节点如何显示人数统计


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

主题:[求助]根据多列内容生成筛选树节点如何显示人数统计

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


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
[求助]根据多列内容生成筛选树节点如何显示人数统计  发帖心情 Post By:2019/6/25 16:31:00 [只看该作者]

老师好。下面代码是老师指导的、根据多列内容动态生成筛选树。现在想实现在各个节点显示人数统计,代码如何修改才行,请老师帮助。谢谢。

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")  
trv.Nodes.Add("全部")
Dim n As WinForm.TreeNode = trv.Nodes.Add("性别")
n.Nodes.Add("男")
n.Nodes.Add("女")
n = trv.Nodes.Add("民族")
For Each s As String In DataTables("员工信息").GetValues("民族")
    n.Nodes.Add(s)
Next
n = trv.Nodes.Add("籍贯")
For Each s As String In DataTables("员工信息").GetValues("籍贯")
    n.Nodes.Add(s)
Next
n = trv.Nodes.Add("岗类部门")
For Each s1 As String In DataTables("员工信息").GetValues("岗位类别","","岗类编码")
    Dim n1 As WinForm.TreeNode =  n.Nodes.Add(s1)
    For Each s2 As String In DataTables("员工信息").GetValues("工作部门","岗位类别='" & s1 & "'","部门编码")
        n1.Nodes.Add(s2)
    Next
Next

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2019/6/25 17:27:00 [只看该作者]

可以参考一下:
http://www.foxtable.com/webhelp/topics/2741.htm

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


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2019/6/25 17:44:00 [只看该作者]

和帮助实例类似的统计筛选树已经学会使用。但根据多列内容生成、并且一级节点互不隶属的筛选树如何才能显示统计数据,已经做了多时,实在搞不通才请教老师们的。请老师们指导一下。谢谢。

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


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

比如

 

For Each s As String In DataTables("员工信息").GetValues("民族")
    Dim c = DataTables("员工信息").compute("count(_Identify)", "民族='" & s & "'")
    n.Nodes.Add(s, s & "(" & c & ")")
Next

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


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2019/6/26 8:38:00 [只看该作者]

谢谢老师。还得再请教老师,下面点击目录树节点的代码要如何修改才能与4楼代码配套。

Dim Filter As String = ""
Dim dr As DataRow = e.Node.DataRow  
Dim tbl As Table = Tables("员工信息") 
Dim ary = e.node.fullpath.split("\")
If e.node.level > 0 '第二层节点开始
    Select Case ary(0)
        Case "性别"
            Filter = "性别 = '" & ary(1) & "'"
        Case "民族"
            Filter = "民族 = '" & ary(1) & "'"
        Case "籍贯"
    End Select
    tbl.Filter = filter
ElseIf e.node.text = "全部"
    tbl.Filter = ""
End If
[此贴子已经被作者于2019/6/26 15:05:20编辑过]

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


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

Dim ary = e.node.fullpath.split("\")

 

改成

 

Dim ary = e.node.fullName.split("\")


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


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2019/6/26 10:21:00 [只看该作者]

谢谢老师。再请教老师,下面代码的黄色部分不对,错误提示  【参数“Prompt”无法转换为类型“String”。】。请老师帮助修改。


[此贴子已经被作者于2019/6/26 15:04:39编辑过]

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


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

 

你vars("filter")是如何赋值的?请贴出给其赋值的代码。

 

 


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


加好友 发短信
等级:一尾狐 帖子:493 积分:3637 威望:0 精华:0 注册:2018/6/8 21:14:00
  发帖心情 Post By:2019/6/26 11:25:00 [只看该作者]

老师好。目录树点击代码、及vars("filter")赋值的代码如下:
    Vars("Filter") = Tables("管理_Table1").Filter  
[此贴子已经被作者于2019/6/26 15:05:58编辑过]

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


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

 

不可能,上传实例测试。

 

 


 回到顶部
总数 25 1 2 3 下一页