以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  怎么生成合计?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=170114)

--  作者:xxfoxtable
--  发布时间:2021/7/13 11:11:00
--  怎么生成合计?
Dim b As New CrossTableBuilder("统计表1",dt)
b.HGroups.AddDef("账户")
b.HGroups.AddDef("年")
b.VGroups.AddDef("月")
b.Totals.AddDef("收入")
b.Totals.AddDef("支出")
b.Build
这个语句生成的报表,我想在07右面加一个收入合计,支出合计,应该怎么写代码?

图片点击可在新窗口打开查看此主题相关图片如下:hj.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2021/7/13 11:23:00
--  
Dim b As New CrossTableBuilder("统计表1",dt)
b.HGroups.AddDef("账户")
b.HGroups.AddDef("年")
b.VGroups.AddDef("月")
b.Totals.AddDef("收入")
b.Totals.AddDef("支出")
b.Build
Dim dt As DataTable = DataTables("统计表1")
dt.DataCols.Add("收入合计",Gettype(Double))
dt.DataCols.Add("支出合计",Gettype(Double))

For Each dr As DataRow In dt.DataRows
    Dim s1 As Double = 0
    Dim s2 As Double = 0
    For Each dc As DataCol In dt.DataCols
        If dc.Caption Like "*收入*" Then
            s1 = s1 + dr(dc.Name)
        ElseIf dc.Caption Like "*支出*" Then
            s2 = s2 + dr(dc.Name)
        End If
    Next
    dr("收入合计") = s1
    dr("支出合计") = s2
Next