'====================生成政府采购立项目录树======================
'首先生成统计表
Dim dt_cglx As DataTable
Dim b_cglx As New GroupTableBuilder("统计表1",DataTables("tblcglx"))
b_cglx.Groups.AddDef("rq",DateGroupEnum.Year,"年")
b_cglx.Groups.AddDef("rq",DateGroupEnum.Quarter,"季")
b_cglx.Groups.AddDef("rq",DateGroupEnum.Month,"月")
b_cglx.groups.AddDef("dwlb","立项类别")
b_cglx.Groups.AddDef("cgdw","立项单位")
b_cglx.Totals.AddDef("lxID",AggregateEnum.Count,"立项数") '根据客户列来统计记录数,也就是订单数
dt_cglx = b_cglx.Build(False) '参数设置为False,生成一个临时表,不在主界面显示
'然后根据统计表生成目录树
'Dim trv_cglx As WinForm.TreeView = e.Form.Controls("trv_cglx")
Dim trv_cglx As WinForm.TreeView = Forms("采购立项").Controls("trv_cglx")
trv_cglx.BuildTree(dt_cglx, "年|季|月|立项类别|立项单位")
trv_cglx.StopRedraw
For Each nd_cglx As WinForm.TreeNode In trv_cglx.AllNodes
Dim nflx As Integer = nd_cglx.DataRow("年")
Dim yflx As Integer = nd_cglx.DataRow("月")
Dim jidu As Integer = nd_cglx.DataRow("季")
Dim badwlx As String = nd_cglx.DataRow("立项单位")
Dim badwlblx As String=nd_cglx.DataRow("立项类别")
Select Case nd_cglx.Level
Case 0
nd_cglx.Text = nd_cglx.text & "年( " & dt_cglx.Compute("Sum(立项数)","年 = " & nflx) & " )项"
Case 1
nd_cglx.Text = nd_cglx.text & "季( " & dt_cglx.Compute("Sum(立项数)","年 = " & nflx & " And 季 = " & jidu) & " )项"
Case 2
nd_cglx.Text = nd_cglx.text & "月( " & dt_cglx.Compute("Sum(立项数)","年 = " & nflx & " And 季 = " & jidu & " And 月 = " & yflx) & " )项"
Case 3
nd_cglx.Text = nd_cglx.text & "( " & dt_cglx.Compute("Sum(立项数)","年 = " & nflx & " And 季 = " & jidu & " And 月 = " & yflx & " And 立项类别 = '" & badwlblx & "'") & " )项"
Case 4
nd_cglx.Text = nd_cglx.text & "( " & nd_cglx.DataRow("立项数") & " )项"
End Select
Next
trv_cglx.Nodes.Insert("显示所有采购立项","显示所有采购立项( " & dt_cglx.Compute("Sum(立项数)") & " )项",0)
trv_cglx.ResumeRedraw
Tables("tblcglx").Filter=""