抄了帮助中的例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
'首先生成统计表 Dim
dt
As
DataTable Dim
b
As
New
SQLGroupTableBuilder("统计表1","订单") b.Groups.AddDef("日期",DateGroupEnum.Year,"年") b.Groups.AddDef("日期",DateGroupEnum.Month,"月") b.Groups.AddDef("产品")
b.Totals.AddDef("_Identify",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 |
如何分页加载?
Tables("订单").OpenLoadTree("产品|客户",120,50,True)
表示每页50行,打开加载树后,自动加载第一页数据
这段代码肯定不行