这个示例展示了如何使用书签在报表中为每个页面创建 文档地图。
要在报表中实现文档地图,则执行下列操作。
-
创建一个 数据绑定报表,并把报表的 XtraReport.Bookmark 属性设置为 "Table of Contents"。
-
插入一个 ReportHeaderBand(报表标头带区),并把一个 XRLabel 控件拖放到其中。 把此控件的 XRControl.Bookmark 和 XRControl.Text 属性修改为 "Home"。
-
插入一个 PageHeaderBand(页眉带区),并把一个 XRLabel 控件 (命名为 xrLabel2 ) 拖放到其中。 然后,把它的 XRControl.Bookmark 和 XRControl.Text 属性设置为 "Page "、把 XRControl.BookmarkParent 属性设置为 xrLabel1。
-
然后,以下列方式接管它的 XRControl.PrintOnPage 事件。
C# | 复制代码 |
---|---|
using System; using DevExpress.XtraReports.UI; // ... private void xrLabel2_PrintOnPage(object sender, PrintOnPageEventArgs e) { // Obtain the current page number. string s = (e.PageIndex + 1).ToString(); // Set the label's text and bookmark (this label is located on the PageHeader // band, therefore it will show a bookmark for every report page). ((XRLabel)sender).Bookmark += s; ((XRLabel)sender).Text += s; } |
Visual Basic | 复制代码 |
---|---|
Imports System Imports DevExpress.XtraReports.UI ' ... Private Sub xrLabel2_PrintOnPage(ByVal sender As Object, _ ByVal e As PrintOnPageEventArgs) Handles xrLabel2.PrintOnPage ' Obtain the current page number. Dim s As String = (e.PageIndex + 1).ToString() ' Set the label's text and bookmark (this label is located on the PageHeader ' band, therefore it will show a bookmark for every report page). CType(sender, XRLabel).Bookmark += s CType(sender, XRLabel).Text += s End Sub |
在下面的插图中显示了结果。
Show Me |
---|
在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E54。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。 |