BuildPageFooter

在生成某个页尾前执行。

e参数属性:

Book:      返回工作簿
PageRows:  返回一个DataRows集合,包括此页打印的所有行
TotalRows: 返回一个DataRows集合,包括截止到此页为止,所有已经打印的行。

示例

假定针对订单表设计了一个报表模板,希望在每页的页尾打印此页已结账和未结账金额小计,以及截止到此页为止,已结账和未结账金额合计。

实现步骤

1、在设计报表模版的时候,插入四个标签:<本页已结账>、<本页未结账>、<截止已结账>、<截止未结账>。

2、在BeforeBuild事件中,将四个标签插入到Marks集合:

Select Case e.Book.TempLate
    Case
"模板名称"
        e.Book.Marks.Add("本页已结账", 0)
        e.Book.Marks.Add("本页未结账", 0)
        e.Book.Marks.Add("截止已结账", 0)
        e.Book.Marks.Add("截止未结账", 0)
End
Select

3、在BuildPageFooter事件中加入代码:

Select Case e.Book.TempLate
    Case
"模板名称"
       
Dim Sum1, Sum2, Sum3, Sum4 As Double
       
For Each dr As DataRow In e.PageRows
            If
dr("已结账") = True
               
Sum1 = Sum1 + dr("金额")
            Else
               
Sum2 = Sum2 + dr("金额")
            End
If
        Next
        For
Each dr As DataRow In e.TotalRows
            If
dr("已结账") = True
               
Sum3 = Sum3 + dr("金额")
            Else
               
Sum4 = Sum4 + dr("金额")
            End
If
        Next

        e.Book.Marks("本页已结账") = Sum1
        e.Book.Marks("本页未结账") = Sum2
        e.Book.Marks("截止已结账") = Sum3
        e.Book.Marks("截止未结账") = Sum4
End
Select


本页地址:http://www.foxtable.com/webhelp/topics/1957.htm