可以通过在“属性”窗口或代码中设置属性,来配置 ReportViewer 控件和 ReportViewer 工具栏。 可以删除或禁用特定的命令并设置用于初始化工具栏的值。 有关 ReportViewer Web 服务器控件属性的更多信息,请参见 Microsoft.Reporting.WebForms.ReportViewer 属性。 有关 Windows 窗体控件属性的更多信息,请参见 Microsoft.Reporting.WinForms.ReportViewer 属性。
ReportViewer 工具栏
ReportViewer 控件包含一个工具栏,该工具栏具有导航、搜索、导出和打印功能,从而使用户可以在部署的应用程序中处理报表。 您可以在设计时设置工具栏上的属性,来控制工具栏的外观并确定运行时选项的可用性。 如果您希望实现不同的工具栏,可以创建自定义的工具栏,以代替默认的工具栏。
备注
由于利用 HTML 和 Graphics Design Instrumentation (GDI) 格式呈现用户界面元素的方式有所不同,因此,报表工具栏将因您使用的是 Web 服务器控件还是 Windows 窗体控件而不同。
文档结构图
文档结构图是一个包含链接列表的导航区域,用户可以单击这些链接导航到报表的特定区域。 文档结构图是一个位于报表视图区域左侧(在从右向左环境中则位于右侧)的可折叠拆分框。 并非所有报表都具有文档结构图;如果要在报表查看器中显示文档结构图,则必须在报表定义中定义一个文档结构图。
导航报表
ReportViewer 工具栏包含多种页导航功能。 用户可以选择特定页,也可以直接导航到第一页或最后一页。 页由在报表定义中显式定义的分页符确定。 根据您正在使用的报表输出格式,还可以自动计算分页符。
由于 ASP.NET ReportViewer 控件在默认情况下使用异步回发进行交互,因此用户无法使用浏览器的**“后退”**按钮,除非将 InteractivityPostBackMode 属性设置为 AlwaysSynchronous。
若要导航钻取报表,用户可以使用 ReportViewer 工具栏上的**“返回父报表”按钮,或者使用浏览器的“后退”**按钮(如果您相应地设置了 InteractivityPostBackMode 属性)。 但是,建议您使用一个导航选项来设计应用程序,以便在用户导航钻取报表时保持会话状态一致。 否则,用户在导航钻取报表时可能会收到“回调而不使用钻取报表”[Back call without drillthrough report]错误消息。 若要使用户能够使用一个导航选项,您可以:
使用 AlwaysAsynchronous 模式并将 ShowBackButton 设置为 true。
使用 AlwaysSynchronous 或 SynchronousOnDrillthrough 模式并将 ShowBackButton 设置为 false。 这将限制用户使用浏览器的**“后退”**按钮。 请注意,此选项不会使用 Web 服务器控件的 AJAX 功能。
停止并刷新报表
在 Web 服务器控件中,用户可以单击忙状态指示器中的**“取消”链接来取消报表呈现。 在 Windows 窗体控件中,用户可以单击 ReportViewer 工具栏中的“停止”按钮来取消报表呈现。 用户可以使用“刷新”**按钮来触发报表呈现。
如果用户针对服务器报表单击**“刷新”**,报表服务器将使用最新数据重新处理报表。 请注意,最新数据取决于对报表设置的缓存和快照策略。
如果用户针对本地报表单击**“刷新”,行为可能有所不同。 由于本地处理的报表使用应用程序提供的数据,因此,在刷新操作期间,您可能需要通过提供用于处理 ReportViewer.ReportRefresh 事件的代码来更新数据源。 如果不处理 Windows 窗体控件的此事件,则单击“刷新”**将使用应用程序中的旧数据刷新报表。 有关 Web 服务器控件的 ReportViewer.ReportRefresh 事件的更多信息,请参见 ReportRefresh。 有关 Windows 窗体控件版本的详细信息,请参阅 ReportRefresh。
打印报表
ReportViewer 工具栏提供打印支持。 每个版本的 ReportViewer 控件的打印支持的实现方式都不同。 而且,Web 服务器控件仅在 Internet Explorer 中提供打印支持。 有关详细信息,请参阅通过 ReportViewer 打印报表。
缩放报表页
ReportViewer 工具栏提供标准缩放功能,使您可以放大或缩小报表。 Web 服务器控件仅在 Internet Explorer 中提供缩放支持。
搜索报表
ReportViewer 工具栏包含搜索字段,使您可以使用该字段查找报表中的特定文本。 通过键入要查找的单词或短语,搜索报表中的内容。 搜索不区分大小写且从当前显示的页开始。 不支持通配符和布尔搜索运算符。 搜索操作中只包括可见内容。 如果报表使用显示/隐藏功能,则不会搜索隐藏的内容。 若要搜索随后出现的相同值,请单击**“下一个”**。
导出报表
ReportViewer 工具栏提供了导出格式,以便用户可以将报表保存为支持的格式。 可以将本地报表导出为 Excel、PDF 或 Word 文件。 可以将服务器报表导出为报表服务器支持的任何格式。 如果您正在使用 Web 服务器控件,可以在控件上设置 ExportContentDisposition 属性,这样便可以立即在 Excel 或 PDF 查看器中显示导出的报表,而不用将报表保存为文件。
根据您选择的呈现格式,同一报表可具有不同的外观和功能。 具有链接、文档结构图和书签的报表在保存为文件后可能不会正常运行。 根据您对齐报表中项目所采取方式的不同,采用不同文件格式的报表布局可以包括不同数目的页或额外空白。