本指南描述了在运行时刻为 汇总字段 模拟 邮件合并 功能的步骤。 因为在当前的 XtraReports 实现中没有提供此功能,因此可以使用几个代码行轻松地模拟此功能。
要模拟汇总的邮件合并功能,则执行下列操作。
-
启动 MS Visual Studio (2005、2008 或 2010),并且新建一个或者打开一个现有的 Windows 窗体应用程序。
-
添加新空白报表 到项目中,并 绑定报表 到 Northwind 示例数据库 (与 XtraReports 安装一起提供的 nwind.mdb 文件) 的 "Products" 表。
-
对报表数据分组 (按照 CategoryID 数据字段分组)。 同时,为了在每个分组的底部显示汇总值,把一个 GroupFooter 带区添加到报表中,例如,使用 Group and Sort 面板 …
-
然后,从 Field List(字段列表) 中把 ProductName 字段拖放到所创建的带区上。 同时,把所创建的标签的 XRSummary.Running 属性设置为 Group(分组)、把 XRSummary.Func 属性设置为 Count(计数)。
-
把此标签的 XRControl.Tag 属性设置为 CategoryID 数据字段。
-
然后,接管此标签的 XRLabel.SummaryCalculated 事件。
… 并把下列代码粘贴到事件处理程序中。
C# 复制代码 using System; using DevExpress.XtraReports.UI; // ... private void xrLabel2_SummaryCalculated(object sender, TextFormatEventArgs e) { e.Text = String.Format("Category #{0} contains {1} items.", ((XRLabel)sender).Tag, e.Value); }
Visual Basic 复制代码 Imports System Imports DevExpress.XtraReports.UI ' ... Private Sub xrLabel2_SummaryCalculated(ByVal sender As Object, ByVal e As TextFormatEventArgs) _ Handles xrLabel2.SummaryCalculated e.Text = String.Format("Category #{0} contains {1} items.", _ (CType(sender, XRLabel)).Tag, e.Value) End Sub
现在,邮件合并报表已经就绪。 运行打印预览窗体,并查看结果。
Show Me |
---|
在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E1118。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。 |