Foxtable(狐表)用户栏目专家坐堂 → 分组汇总的问题


  共有2231人关注过本帖树形打印复制链接

主题:分组汇总的问题

帅哥哟,离线,有人找我吗?
ifox2018
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:167 积分:1624 威望:0 精华:0 注册:2018/3/12 9:22:00
分组汇总的问题  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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") & "'")


 回到顶部