以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]目录树疑问 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99020) |
||||
-- 作者:大米zei乖 -- 发布时间:2017/4/11 10:24:00 -- [求助]目录树疑问 求助:以下代码是按照年月产品顺序筛选目录树的,如果我要按照年-产品-月的顺序筛选应该怎么改啊,谢谢 窗口代码:
\'首先生成统计表 Dim dt As DataTable Dim b As New GroupTableBuilder("统计表1",DataTables("订单")) b.Groups.AddDef("日期",DateGroupEnum.Year,"年") b.Groups.AddDef("日期",DateGroupEnum.Month,"月") b.Groups.AddDef("产品") b.Totals.AddDef("客户",AggregateEnum.Count,"订单数") \'根据客户列来统计记录数,也就是订单数 dt = b.Build(True) \'参数设置为True,生成一个临时表,不在主界面显示 \'然后根据统计表生成目录树 Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.BuildTree(dt, "年|月|产品") trv.StopRedraw For Each nd As WinForm.TreeNode In trv.AllNodes Dim Year As Integer = nd.DataRow("年") Dim Month As Integer = nd.DataRow("月") Dim Product As String = nd.DataRow("产品") Select Case nd.Level Case 0 nd.Text = nd.text & "年(" & dt.Compute("Sum(订单数)","年 = " & Year) & "条)" Case 1 nd.Text = nd.text & "月(" & dt.Compute("Sum(订单数)","年 = " & Year & " And 月 = " & Month) & "条)" Case 2 nd.Text = nd.text & "(" & nd.DataRow("订单数") & "条)" End Select Next trv.Nodes.Insert("显示所有行","显示所有行(" & dt.Compute("Sum(订单数)") & "条)",0) trv.ResumeRedraw 目录树代码: Dim Filter As String = "" If e.node.Name <> "显示所有行" Then \'要用Name属性,不能用Text属性 Dim d1 As Date Dim d2 As Date Dim Year As Integer = e.Node.DataRow("年") Dim Month As Integer = e.Node.DataRow("月") Dim Product As String = e.Node.DataRow("产品") Select Case e.Node.Level Case 0 d1 = New Date(Year,1,1) \'取得该年的第一天 d2 = new Date(Year,12,31) \'取得该年的最后一天 Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#" Case 1 d1 = New Date(Year, Month, 1) \'取得该月的第一天 d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天 Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#" Case 2 d1 = New Date(Year, Month, 1) \'取得该月的第一天 d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天 Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# And 产品 = \'" & Product & "\'" End Select End If Tables("订单").Filter = Filter |
||||
-- 作者:有点色 -- 发布时间:2017/4/11 10:49:00 --
|
||||
-- 作者:大米zei乖 -- 发布时间:2017/4/11 11:11:00 -- 这个我知道,我就是想换个顺序,把产品放在月前面,刚开始我自己搞了下,结果统计出来的订单数乱七八糟的。。。。 |
||||
-- 作者:有点色 -- 发布时间:2017/4/11 11:26:00 -- 认认真真看2楼项目,就是你要的。 |
||||
-- 作者:大米zei乖 -- 发布时间:2017/4/11 11:37:00 -- 2楼的项目打不开,提示版本过高,我用的是2016版的 2楼的项目和CaseStudy里的是统计筛选树是一样的吗?
|
||||
-- 作者:有点色 -- 发布时间:2017/4/11 12:00:00 -- 以下是引用大米zei乖在2017/4/11 11:37:00的发言:
2楼的项目打不开,提示版本过高,我用的是2016版的 2楼的项目和CaseStudy里的是统计筛选树是一样的吗?
你可以去下载最新的版本,升级到最新版。
代码有修改,稍微修改一些而已,你可以打开后对比。 |
||||
-- 作者:大米zei乖 -- 发布时间:2017/4/11 12:32:00 -- 嗯,好的,谢谢啊,我再去试试看 |
||||
-- 作者:大米zei乖 -- 发布时间:2017/4/11 13:46:00 -- @有点色,可以了,谢谢啊 |
||||
-- 作者:大米zei乖 -- 发布时间:2017/4/11 14:45:00 -- @有点色 刚开始没问题,但是我调整了窗口的布局之后就出问题了,现在我的订单表 和 窗口"订单表" 都有问题,订单表变成空白的,窗口里的表绑定到订单表之后就会出现问题 开发者密码dq888
|
||||
-- 作者:大米zei乖 -- 发布时间:2017/4/11 14:47:00 -- 项目
|