以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 合计 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179937) |
-- 作者:胡噜胡噜毛 -- 发布时间:2022/9/19 14:49:00 -- 合计 Dim t As Table = Tables("费用") Dim g As Subtotalgroup t.SubtotalGroups.Clear() g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "*" g.Caption = "合计" t.SubtotalGroups.Add(g) Dim a = Tables("费用").Compute("Sum(收入)") Dim b = Tables("费用").Compute("Sum(支出)") Dim cnt = Tables("费用").Rows.Count(True) - 1 Dim r As Row = Tables("费用").Rows(cnt,True) r("收入") = a r("支出") = b If a <> 0 Then r("结余") = a - b 设置一个合计行,收入和支出列为合计,结余列为收入-支出,怎么不显示?
|
-- 作者:有点蓝 -- 发布时间:2022/9/19 14:55:00 -- 请上传实例测试 |
-- 作者:胡噜胡噜毛 -- 发布时间:2022/9/19 15:03:00 -- 就是设计一个合计模式,合计的是收入和支出列。但是结余列需要用收入-支出,代码应该怎么写呢? |
-- 作者:有点蓝 -- 发布时间:2022/9/19 15:09:00 -- 加上t.Subtotal() |
-- 作者:胡噜胡噜毛 -- 发布时间:2022/9/19 15:28:00 -- 成功啦~如果还想按照年份分别合计一下,应该怎么修改呢 Dim t As Table = Tables("费用") Dim g As Subtotalgroup t.SubtotalGroups.Clear() g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "*" g.Caption = "合计" t.SubtotalGroups.Add(g) t.Subtotal() Dim a = Tables("费用").Compute("Sum(收入)") Dim b = Tables("费用").Compute("Sum(支出)") Dim cnt = Tables("费用").Rows.Count(True) - 1 Dim r As Row = Tables("费用").Rows(cnt,True) r("收入") = a r("支出") = b If a <> 0 Then r("结余") = a - b |
-- 作者:有点蓝 -- 发布时间:2022/9/19 15:51:00 -- 添加多个分组:http://www.foxtable.com/webhelp/topics/2636.htm |
-- 作者:胡噜胡噜毛 -- 发布时间:2022/9/19 16:03:00 -- 为什么一打开就提示“不能在汇总模式下显示总计行!” |
-- 作者:有点蓝 -- 发布时间:2022/9/19 16:06:00 -- 因为......所以...... |
-- 作者:胡噜胡噜毛 -- 发布时间:2022/9/19 16:27:00 -- 我把代码修改为这个样子,是可以执行的,但是关闭重新打开项目之后,就会提示“不能在汇总模式下显示总计行!” 进入“费用”表后设置的这些汇总也不自动显示 Dim t As Table = Tables("费用") Dim g As Subtotalgroup t.SubtotalGroups.Clear() g = New Subtotalgroup g.GroupOn = "年份" g.TotalOn = "收入_金额,支出_金额" g.DateGroup = DateGroupEnum.Day t.SubtotalGroups.Add(g) g = New Subtotalgroup g.GroupOn = "*" g.TotalOn = "收入_金额,支出_金额" t.SubtotalGroups.Add(g) t.Subtotal() Dim r As Row For i As Integer = 0 To t.Rows.Count(True) - 1 r = t.Rows(i,True) If r.IsGroup Then r("结余") = r("收入_金额") - r("支出_金额") End If Next
|
-- 作者:有点蓝 -- 发布时间:2022/9/19 16:34:00 -- 我测试没有问题,请上传实例说明 |