Foxtable(狐表)用户栏目专家坐堂 → [求助]数值列,设置为合并模式后,再对此合并列进行合计或分组汇总,如何实现合计数中只计算一次合并列?


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

主题:[求助]数值列,设置为合并模式后,再对此合并列进行合计或分组汇总,如何实现合计数中只计算一次合并列?

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


加好友 发短信
等级:小狐 帖子:324 积分:2704 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2017/11/27 16:27:00 [只看该作者]

想在《收保_退保对应查询表》中,实现多列合并模式下的数据汇总、根据对两张表的结果计算出“余额”列的值。

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


加好友 发短信
等级:小狐 帖子:324 积分:2704 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2017/11/27 16:33:00 [只看该作者]

附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:三项资金支piao开具.rar


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/27 17:10:00 [只看该作者]

参考代码

 

Dim t As Table = Tables("收保_退保对应查询表")
Dim pdr As DataRow = Nothing
For Each dr As DataRow In t.DataTable.Select("", "piao据号码, 支piao日期")
    If pdr Is Nothing OrElse pdr("piao据号码")<>dr("piao据号码") Then
        dr("余额") = dr("piao面金额") - dr("开具支piao明细金额")
    Else
        dr("余额") = pdr("余额") - dr("开具支piao明细金额")
    End If
   
    pdr = dr
Next


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


加好友 发短信
等级:小狐 帖子:324 积分:2704 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2017/11/28 8:20:00 [只看该作者]

关键还有一个问题:合并模式下,对合并列的汇总,在table的末行、StatusBar行显示“计数、累计、平均”如何实现?

烦请有点甜图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/28 8:43:00 [只看该作者]

1、你根据哪几列进行合并?

 

2、你计数、累计、平均,逻辑是什么?根据什么规则计算值?


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


加好友 发短信
等级:小狐 帖子:324 积分:2704 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2017/11/28 10:59:00 [只看该作者]

MergeMode = MergeModeEnum.Standard
    .MergeCols.Clear()
    .MergeCols.Add("piao据种类")
    .MergeCols.Add("piao据号码")
    .MergeCols.Add("缴款人")
    .MergeCols.Add("piao面金额")
    .MergeCols.Add("piao据_状态")
    .MergeCols.Add("开piao日期")
    .MergeCols.Add("附加信息一_经办单位")
    .MergeSort = "piao据种类,piao据号码,缴款人,piao面金额,piao据_状态,开piao日期,附加信息一_经办单位"
    .AllowMerge = True


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


加好友 发短信
等级:小狐 帖子:324 积分:2704 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2017/11/28 11:01:00 [只看该作者]

你计数、累计、平均,逻辑是什么?根据什么规则计算值?

-----就根据合并后的数据行进行合计。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/28 11:12:00 [只看该作者]

    Dim cname = t.cols(t.ColSel).name
    If t.AllowMerge AndAlso t.MergeCols.Contains(cname) Then
        Dim sum As Double = t.rows(t.TopRow)(cname)
        Dim count As Integer = 1
        Dim avg As Double = 0
        For i As Integer = t.TopRow+1 To t.BottomRow
            For j As Integer = 0 To t.ColSel
                If t.rows(i)(j) <> t.rows(i-1)(j) Then
                    sum += t.rows(i)(cname)
                    count += 1
                    Exit For
                End If
            Next
        Next
        StatusBar.Message3 = "计数:" & count & " 累计:" &  sum & " 平均:" & Format(sum/count, "0.00")
        Return
    End If

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


加好友 发短信
等级:小狐 帖子:324 积分:2704 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2017/11/28 13:59:00 [只看该作者]

谢谢有点甜,思路和代码就是写得好图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:324 积分:2704 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2017/11/29 9:14:00 [只看该作者]

切换成合计模式,mygrid_paint 自定义函数报错,WITH变量,请看一下附件,看不出哪里的问题


 回到顶部
总数 29 上一页 1 2 3 下一页