以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]计算结果为非数字 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141122) |
-- 作者:lgj716330 -- 发布时间:2019/9/21 14:43:00 -- [求助]计算结果为非数字 Dim dt As DataTable = DataTables("统计表") Dim r As Row For i As Integer = 0 To Tables("统计表").Rows.Count(True) - 1 r = Tables("统计表").Rows(i,True) If r.IsGroup Then r("增率") = DataTables("统计表").Compute("sum([增值])","[主体] = \'" & r("主体") & "\'")/DataTables("统计表").Compute("sum([销售额])","[主体] = \'" & r("主体") & "\'") End If Next 以上结果显示为“非数字”
[此贴子已经被作者于2019/9/21 14:43:14编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/9/21 14:58:00 -- 出现了除以0的操作 Dim dt As DataTable = DataTables("统计表") Dim r As Row For i As Integer = 0 To Tables("统计表").Rows.Count(True) - 1 r = Tables("统计表").Rows(i,True) If r.IsGroup Then dim s2 as double = DataTables("统计表").Compute("sum([销售额])","[主体] = \'" & r("主体") & "\'") if s2 <> 0 r("增率") = DataTables("统计表").Compute("sum([增值])","[主体] = \'" & r("主体") & "\'")/s2 end if End If Next
|
-- 作者:lgj716330 -- 发布时间:2019/9/21 16:21:00 -- 在数据表的AfterLoad里 Dim t As Table = Tables("统计表") Dim g As Subtotalgroup t.SubtotalGroups.Clear() t.GroupAboveData = False t.TreeVisible = False t.SpillNode = True g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "主体" g.TotalOn = "销售额,增值" g.Caption = "{0} 小计" t.SubtotalGroups.Add(g) g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "年份" g.TotalOn = "销售额,增值" g.Caption = "{0} 小计" t.SubtotalGroups.Add(g) t.Subtotal() Dim dt As DataTable = DataTables("统计表") Dim r As Row For i As Integer = 0 To Tables("统计表").Rows.Count(True) - 1 r = Tables("统计表").Rows(i,True) If r.IsGroup Then dim s2 as double = DataTables("统计表").Compute("sum([销售额])","[主体] = \'" & r("主体") & "\'") if s2 <> 0 r("增率") = DataTables("统计表").Compute("sum([增值])","[主体] = \'" & r("主体") & "\'")/s2 end if End If Next 计算结果是空的,没有计算出来,是不是我条件有问题 |
-- 作者:有点蓝 -- 发布时间:2019/9/21 16:47:00 -- Dim dt As DataTable = DataTables("统计表") Dim r As Row For i As Integer = 0 To Tables("统计表").Rows.Count(True) - 1 r = Tables("统计表").Rows(i,True) If r.IsGroup Then msgbox(r("主体")) \'这里显示什么?
|
-- 作者:lgj716330 -- 发布时间:2019/9/21 16:57:00 -- 显示的分别是具体的“主体 小计”和“年份 小计” |
-- 作者:有点蓝 -- 发布时间:2019/9/21 17:18:00 -- r("主体").replace("小计","").trim() |