在生成某个页尾前执行。
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