以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  EXCEL报表关联表分组打印  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113525)

--  作者:873773115
--  发布时间:2018/1/17 15:51:00
--  EXCEL报表关联表分组打印
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip



老师,请问怎么实现关联表分组打印呢?   以品名再区分一次,自动换页

--  作者:有点甜
--  发布时间:2018/1/17 16:41:00
--  

这个意思?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:订单表.xls


--  作者:873773115
--  发布时间:2018/1/17 16:57:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip


这样就可以了老师,但是页次计算出错了

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


--  作者:有点甜
--  发布时间:2018/1/17 17:33:00
--  

buildDetail事件,写代码

 

Select Case e.Book.TempLate
    Case "订单表"
        If e.Region = "订单主表" Then
            Vars.Add("第N页",Gettype(String))
            vars("第几页") = 1
            vars("第N页") = "第" & vars("第几页") & "页"
            Dim drs = e.DataRow.GetChildRows("订单明细表")
            Dim phs As new Dictionary(of String, Integer)
            For Each dr As DataRow In drs
                If phs.ContainsKey(dr("品名")) Then
                    phs(dr("品名")) += 1
                Else
                    phs.Add(dr("品名"), 1)
                End If
            Next
            Dim sum As Integer = 0
            For Each key As String In phs.Keys
                sum += math.Ceiling(phs(key) / 9)
            Next
            vars("总页数") = "共" & sum & "页"
            e.Book.Marks("页次") = vars("第N页") & "/" & vars("总页数")
        End If
End Select


--  作者:873773115
--  发布时间:2018/1/17 17:39:00
--  
谢谢老师!好厉害、