这个示例展示了如何使用书签在报表中为每个页面创建 文档地图

要在报表中实现文档地图,则执行下列操作。

  1. 创建一个 数据绑定报表,并把报表的 XtraReport.Bookmark 属性设置为 "Table of Contents"。

  2. 插入一个 ReportHeaderBand(报表标头带区),并把一个 XRLabel 控件拖放到其中。 把此控件的 XRControl.BookmarkXRControl.Text 属性修改为 "Home"。

  3. 插入一个 PageHeaderBand(页眉带区),并把一个 XRLabel 控件 (命名为 xrLabel2 ) 拖放到其中。 然后,把它的 XRControl.BookmarkXRControl.Text 属性设置为 "Page "、把 XRControl.BookmarkParent 属性设置为 xrLabel1

  4. 然后,以下列方式接管它的 XRControl.PrintOnPage 事件。

C#CopyCode image复制代码
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 BasicCopyCode image复制代码
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

在下面的插图中显示了结果。

CodeCentralShow Me

在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E54。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。

Expand image参阅