以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  分组汇总的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=134147)

--  作者:ifox2018
--  发布时间:2019/4/28 15:40:00
--  分组汇总的问题
后台数据样子如图(理论上应该是按操作日期排序的,不知道怎么排不了,请忽略)

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




现在得出的效果是

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

现有代码在afterload事件中如下:

Dim t As Table = Tables("bf_sj")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = True
t.TreeVisible = False
t.SpillNode = False

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "bf_skzt"
g.TotalOn = "bf_jine"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "bf_carname"
g.TotalOn = ""
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

t.Subtotal()


问题1:怎样才能实现只显示我需要的状态。   比如我只想显示所有状态为“未开”的分组汇总的车辆。 而不是所有“待开”,“已收”,“已结”这些不需要的。

问题2: 小计的数据怎么赋值给窗体上的控件。  比如苏ED0001未开小计金额11674可以通过鼠标选中该行时,赋值到text控件内。




或者说,使用纯代码的话,如何实现将后台数据的内容先按车辆查找,在汇总该车相同状态的金额之和,填充需要的状态内容到到table控件内。
如现在只需要展示“未开”状态的车辆及其金额。  table控件内只需要展示
车号                           状态                  金额
苏ED0001                  未开               168000(后台已经汇总过,下同)
苏ED0003                  未开               1800
苏ED0004                  未开               10681.07
[此贴子已经被作者于2019/4/28 15:49:03编辑过]

--  作者:有点甜
--  发布时间:2019/4/28 15:47:00
--  

1、

 

Dim t As Table = Tables("bf_sj")
t.filter = "bf_skzt=\'未开\'"

Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = True
t.TreeVisible = False
t.SpillNode = False

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "bf_carname"
g.TotalOn = "bf_jine"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

t.Subtotal()

[此贴子已经被作者于2019/4/28 15:47:56编辑过]

--  作者:有点甜
--  发布时间:2019/4/28 15:49:00
--  

2、timertick事件

 

Dim t As Table = Tables("bf_sj")
e.Form.controls("label1").text = t.compute("sum(bf_jine)", "bf_skzt=\'未开\' and bf_carname=\'" & t.current("bf_carname") & "\'")