以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]汇总模式下的标题指定单元格?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=119216)

--  作者:沪上游客
--  发布时间:2018/5/20 15:46:00
--  [求助]汇总模式下的标题指定单元格?

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


老师您好!
如上图我在部门汇总模式下,希望汇总行的标题不在第一列,而在分组列的汇总行中。不知道代码怎么写?
我的“部门汇总”代码如下:
Dim t As Table = Tables("增值税发票开票登记")
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 = "本次开票金额,企业所得税预缴数,总公司管理费交费数,分公司管理费,收入金额,税额,预征增值税,附加税_城建税,附加税_教育费附加,附加税_地方教育附加,附加税_其他税费,附加税_合计,项目地已缴个税,项目地已缴企业所得税,项目地已缴印花税,差额,税费报销数"
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)

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

t.Subtotal()


--  作者:有点甜
--  发布时间:2018/5/20 16:24:00
--  

生成后,修改汇总行的内容,参考

 

http://www.foxtable.com/webhelp/scr/1964.htm

 

http://www.foxtable.com/webhelp/scr/2636.htm

 


--  作者:沪上游客
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间:2018/5/20 20:37:00
--  

参考 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=104181&skin=0

 


--  作者:沪上游客
--  发布时间:2018/5/21 13:22:00
--  
老师您好!
我按照您的方法做了,分公司列统计记录数可以了,就是区域公司的记录数统计不出来,都是0

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

请老师看一下代码,错在哪里?谢谢!代码如下:
Dim t As Table = Tables("增值税发票开票登记")
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 = "本次开票金额,企业所得税预缴数,总公司管理费交费数,分公司管理费,收入金额,税额,预征增值税,附加税_城建税,附加税_教育费附加,附加税_地方教育附加,附加税_其他税费,附加税_合计,项目地已缴个税,项目地已缴企业所得税,项目地已缴印花税,差额,税费报销数"
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)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "本次开票金额,企业所得税预缴数,总公司管理费交费数,分公司管理费,收入金额,税额,预征增值税,附加税_城建税,附加税_教育费附加,附加税_地方教育附加,附加税_其他税费,附加税_合计,项目地已缴个税,项目地已缴企业所得税,项目地已缴印花税,差额,税费报销数"
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级目录级数

--  作者:有点甜
--  发布时间: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