Foxtable(狐表)用户栏目专家坐堂 → [求助]汇总模式下的标题指定单元格?


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

主题:[求助]汇总模式下的标题指定单元格?

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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
[求助]汇总模式下的标题指定单元格?  发帖心情 Post By:2018/5/20 15:46:00 [只看该作者]


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


老师您好!
如上图我在部门汇总模式下,希望汇总行的标题不在第一列,而在分组列的汇总行中。不知道代码怎么写?
我的“部门汇总”代码如下:
Dim t As Table = Tables("增值税fa piao开piao登记")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = True
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "所属部门_分公司"
g.TotalOn = "本次开piao金额,企业所得税预缴数,总公司管理费交费数,分公司管理费,收入金额,税额,预征增值税,附加税_城建税,附加税_教育费附加,附加税_地方教育附加,附加税_其他税费,附加税_合计,项目地已缴个税,项目地已缴企业所得税,项目地已缴印花税,差额,税费报销数"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "所属部门_区域公司"
g.TotalOn = "本次开piao金额,企业所得税预缴数,总公司管理费交费数,分公司管理费,收入金额,税额,预征增值税,附加税_城建税,附加税_教育费附加,附加税_地方教育附加,附加税_其他税费,附加税_合计,项目地已缴个税,项目地已缴企业所得税,项目地已缴印花税,差额,税费报销数"
g.Caption = "{0} 合计"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "本次开piao金额,企业所得税预缴数,总公司管理费交费数,分公司管理费,收入金额,税额,预征增值税,附加税_城建税,附加税_教育费附加,附加税_地方教育附加,附加税_其他税费,附加税_合计,项目地已缴个税,项目地已缴企业所得税,项目地已缴印花税,差额,税费报销数"
g.Caption = "总计"
t.SubtotalGroups.Add(g)

t.Subtotal()


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


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


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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2018/5/20 17:59:00 [只看该作者]

老师你好!是不是设置汇总行指单元格等于第一列,帮助中正好是产品编号,而我的表第一列是“申请日期”,在代码中我设置了以下代码,结果成功了。
Dim r As Row
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行
        r("所属部门_分公司") = r("申请日期")
    End If
Next

另外怎么设置代码默认显示第2级或第1级目录而不是*?如下图:

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

然后我会用隐藏汇总模式下的非相关列,隐藏非相关列,最终达到以下结果:

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

[此贴子已经被作者于2018/5/20 18:05:09编辑过]

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


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


 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2018/5/21 13:22:00 [只看该作者]

老师您好!
我按照您的方法做了,分公司列统计记录数可以了,就是区域公司的记录数统计不出来,都是0

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

请老师看一下代码,错在哪里?谢谢!代码如下:
Dim t As Table = Tables("增值税fa piao开piao登记")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = True
t.TreeVisible = True
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "所属部门_分公司"
g.TotalOn = "本次开piao金额,企业所得税预缴数,总公司管理费交费数,分公司管理费,收入金额,税额,预征增值税,附加税_城建税,附加税_教育费附加,附加税_地方教育附加,附加税_其他税费,附加税_合计,项目地已缴个税,项目地已缴企业所得税,项目地已缴印花税,差额,税费报销数"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "所属部门_区域公司"
g.TotalOn = "本次开piao金额,企业所得税预缴数,总公司管理费交费数,分公司管理费,收入金额,税额,预征增值税,附加税_城建税,附加税_教育费附加,附加税_地方教育附加,附加税_其他税费,附加税_合计,项目地已缴个税,项目地已缴企业所得税,项目地已缴印花税,差额,税费报销数"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "本次开piao金额,企业所得税预缴数,总公司管理费交费数,分公司管理费,收入金额,税额,预征增值税,附加税_城建税,附加税_教育费附加,附加税_地方教育附加,附加税_其他税费,附加税_合计,项目地已缴个税,项目地已缴企业所得税,项目地已缴印花税,差额,税费报销数"
g.Caption = "总计"
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 '如果是分组行
        
        If r.Level = -1 Then
            Dim f As String = ""
            Dim v As String = " 总计:" & vbcrlf & "记录数:" & t.Compute("Count(所属部门_分公司)",f)
            r("所属部门_分公司") = v
        ElseIf r.level = 0 Then
            Dim f As String = "所属部门_区域公司 = '" & r("所属部门_区域公司") & "'"
            Dim v As String = "记录数:" & t.Compute("Count(所属部门_分公司)",f)
            r("所属部门_区域公司") = r("申请日期") & vbcrlf & v
        ElseIf r.level = 1 Then
            Dim sum As Double = 0
            For j As Integer = i+1 To t.Rows.count(True)-1
                If t.Rows(j,True).IsGroup Then
                    Exit For
                Else
                    sum += 1
                End If
            Next
            Dim v As String = " 记录数:" & sum
            r("所属部门_分公司") = r("申请日期") & vbcrlf & v
        End If
        
    End If
Next
t.Grid.Tree.Show(1) '默认显示2级目录级数

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


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

        ElseIf r.level = 0 Then
            Dim f As String = "所属部门_区域公司 = '" & r("申请日期") & "'"
            Dim v As String = "记录数:" & t.Compute("Count(所属部门_分公司)",f)
            r("所属部门_区域公司") = r("申请日期") & vbcrlf & v

 回到顶部