Dim dtb As New DataTableBuilder("表B")
dtb.AddDef("部门名称",Gettype(String),10)
dtb.AddDef("部门属性",Gettype(String),10)
For Each v As String In DataTables("水平转换测试").GetValues("成本大类")
dtb.AddDef(v & "_" & "本期金额", Gettype(Double))
dtb.AddDef(v & "_" & "同期金额", Gettype(Double))
Next
dtb.Build()
For Each v As String() In DataTables("水平转换测试").GetValues("部门名称|部门属性")
Dim dr1 As DataRow = DataTables("表B").AddNew()
dr1("部门名称") = v(0)
dr1("部门属性") = v(1)
For Each dr2 As DataRow In DataTables ("水平转换测试").Select("部门名称 = '" & v(0) & "' and 部门属性 = '" & v(1) & "'")
dr1(dr2("成本大类") & "_" & "本期金额") = dr2("本期金额")
dr1(dr2("成本大类") & "_" & "同期金额") = dr2("同期金额")
Next
Next
DataTables("表B").DataCols.Add("合计_本期金额",Gettype(Double))
DataTables("表B").DataCols.Add("合计_同期金额",Gettype(Double))
Dim t As Table = Tables("表B")
Dim r As Row
For i As Integer = 0 To t.Rows.Count(True) - 1
r = t.Rows(i,True)
For Each v2 As String In DataTables("水平转换测试").GetValues("成本大类")
r("合计_本期金额")=r(v2 & "_" & "本期金额")
Next
Next
MainTable = Tables("表B")
当存在多个成本大类时, r("合计_本期金额")=r(v2 & "_" & "本期金额")只能合计到其中一个大类的值,如何才能合计到所有v2 & "_" & "本期金额"的值呢
[此贴子已经被作者于2018/6/21 17:00:46编辑过]