以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]在筛选树显示统计数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103021)

--  作者:沪上游客
--  发布时间: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 请老师检查一下以下代码,无法执行,我是按照帮助里做的,帮我修改一下。万分感谢!
--  作者:有点色
--  发布时间:2017/6/29 12:14:00
--  

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

 

 做个例子发上来测试。


--  作者:沪上游客
--  发布时间: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

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

--  作者:有点色
--  发布时间:2017/6/29 14:38:00
--  

 代码没问题,报什么错?

 

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

 


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

--  作者:有点色
--  发布时间:2017/6/29 14:54:00
--  
 不会做,请上传实例说明。