Dim dt1,dt2,dt3 As fxDataSource
Dim dts As fxDataSource() ={dt1,dt2,dt3}
Dim v1 As String() ={"收款","应收","开piao"}
Dim g As CrossTableBuilder
Dim n1 As Integer
Dim s1,s2,SQL As String
s2 =" Union All Select 项目名称,金额 From{@}"
For Each s1 In v1
g = New CrossTableBuilder("统计", DataTables(s1))
g.HGroups.AddDef("项目名称")
g.VGroups.AddDef("日期", DateGroupEnum.Year, s1 & "_{0}年")
g.VGroups.AddDef("日期", "{0}月")
g.Totals.AddDef("金额", "金额")
g.HorizontalTotal = True
dts(n1) = g.BuildDataSource()
SQL+ = s2.replace("@",s1)
n1=n1+1
Next
Dim g1 As New GroupTableBuilder("统计",SQL.Substring(11),"")
g1.Groups.AddDef("项目名称")
g1.Totals.AddDef("金额","总计")
dt1 = g1.BuildDataSource()
Dim nns As String = "项目名称"
dts(0).Combine(nns,dts(1),nns)
dts(0).Combine(nns,dts(2),nns)
dts(0).Combine(nns,dt1,nns)
Dim t1 As Table = Tables("窗口2_table1")
t1.DataSource =dts(0)
With t1.DataTable
.DataCols("合计").Caption = "收款_小计"
.DataCols("合计1").Caption = "应收_小计"
.DataCols("合计2").Caption = "开piao_小计"
.BuildHeader()
End With