Foxtable(狐表)用户栏目专家坐堂 → [求助]在筛选树显示统计数据


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

主题:[求助]在筛选树显示统计数据

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


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
[求助]在筛选树显示统计数据  发帖心情 Post By:2017/6/29 11:01:00 [只看该作者]

窗口的AfterLoad事件设为: '首先生成统计表 Dim dt As DataTable Dim b As New GroupTableBuilder("收入合同数统计",DataTables("工程合同基础数据")) b.Groups.AddDef("所属区域公司") b.Groups.AddDef("分公司") b.Groups.AddDef("项目部") b.Totals.AddDef("项目部",AggregateEnum.Count,"合同数") '根据项目部列来统计记录数,也就是订单数 dt = b.Build(False) '参数设置为False,生成一个临时表,不在主界面显示 '然后根据统计表生成目录树 Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.BuildTree(dt, "所属区域公司|分公司|项目部") trv.StopRedraw For Each nd As WinForm.TreeNode In trv.AllNodes Dim Qy As Integer = nd.DataRow("所属区域公司") Dim Fgs As Integer = nd.DataRow("分公司") Dim Xmb As String = nd.DataRow("项目部") Select Case nd.Level Case 0 nd.Text = nd.text & "(" & dt.Compute("Sum(合同数)","所属区域公司 = " & Qy) & ")" Case 1 nd.Text = nd.text & "(" & dt.Compute("Sum(合同数)","所属区域公司 = " & Qy & " And 分公司 = " & Fgs) & ")" Case 2 nd.Text = nd.text & "(" & nd.DataRow("合同数") & ")" End Select Next trv.Nodes.Insert("显示所有行(" & dt.Compute("Sum(合同数)") & ")",0) trv.ResumeRedraw 目录树的NodeMouseDoubleClick事件设为: 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("分公司") & "'" Case 2 Filter = "[所属区域公司] = '" & dr("所属区域公司") & "' And [分公司] = '" & dr("分公司") & "' And [项目部] = '" & dr("项目部") & "'" End Select End If Tables("工程合同基础数据").Filter = Filter 请老师检查一下以下代码,无法执行,我是按照帮助里做的,帮我修改一下。万分感谢!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/29 12:14:00 [只看该作者]

 好好看看你1楼的代码,你粘贴的那些,别人根本就看不懂。

 

 做个例子发上来测试。


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


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/6/29 13:13:00 [只看该作者]

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("分公司") & "'"
        Case 2
            Filter = "[所属区域公司] = '" & dr("所属区域公司") & "' And [分公司] = '" & dr("分公司") & "' And [项目部] = '" & dr("项目部") & "'"
    End Select
End If
Tables("工程合同基础数据").Filter = Filter

老师,这个代码是不是有问题,出错了。谢谢!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/29 14:38:00 [只看该作者]

 代码没问题,报什么错?

 

 是不是报这个错? http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=102563&skin=0

 


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


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/6/29 14:49:00 [只看该作者]

老师,我的目的是在筛选树显示统计数据,在系统帮助里是按时间年、月、日计算记录数(在筛选树节点),而我想为每个部门筛选节点显示记录数。
谢谢!
[此贴子已经被作者于2017/6/29 14:49:47编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/29 14:54:00 [只看该作者]

 不会做,请上传实例说明。

 回到顶部