本文档说明了如何在 Web 报表中使用书签来为每个页面实现文档地图,从而提供客户端导航。
要在 ASP.NET 应用程序中实现文档地图,则执行下列操作。
-
启动 MS Visual Studio (2005、2008 或 2010),并且新建一个或者打开一个现有的 ASP.NET Web 应用程序。
-
添加新空白报表 到应用程序中,并 把报表绑定到数据,例如 Categories 表 (属于 Northwind 示例数据库 —— nwind.mdb 文件,位于 DevExpress 演示 的安装目录中)。
-
把 CategoryName 和 Description 字段从 Field List(字段列表) 窗口中拖放到报表的 Detail 带区。
同时,为了在报表中实现书签,选中 XRLabel (被绑定到 CategoryName 字段) 控件,并把它的 XRControl.Bookmark 属性绑定到相同的字段。
-
单击设计面板底部的 设计 标签页,切换到设计模式,然后把 ReportToolbar 和 ReportViewer 控件从 DX.10.2: Reporting 工具栏标签页中拖放到此页面上。
-
为了创建一个文档地图,也从 DX.10.2: Navigation & Layout 工具箱标签页中,把 ASPxSiteMapControl 控件拖放到此页面上。
-
单击 ASPxSiteMapControl1 的智能标记,展开 Choose Data Source(选择数据源) 下拉列表,并单击 New Data Source(新建数据源)... 链接。
-
在被调用的 Data Source Configuration Wizard(数据源配置向导) 中,选择 ASPxSiteMapDataSource 模板,并单击 OK 按钮。
-
现在切换到 Default.aspx 页面的 code-behind(代码隐藏),并且调用 SiteMapBookmarkFiller.FillSiteMapWithBookmarks 方法,来把报表标签装载到 ASPxSiteMapControl 的数据源。
C# 复制代码 using System; using DevExpress.XtraReports.Web; // ... protected override void OnPreRender(EventArgs e) { SiteMapBookmarkFiller.FillSiteMapWithBookmarks(ASPxSiteMapDataSource1, ReportViewer1); base.OnPreRender(e); }
Visual Basic 复制代码 Imports System Imports DevExpress.XtraReports.Web ' ... Protected Overrides Sub OnPreRender(ByVal e As EventArgs) SiteMapBookmarkFiller.FillSiteMapWithBookmarks(ASPxSiteMapDataSource1, ReportViewer1) MyBase.OnPreRender(e) End Sub
运行此应用程序,并查看结果。
Show Me |
---|
在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E2336。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。 |