配置并使用 ReportViewer 工具栏

可以通过在“属性”窗口或代码中设置属性,来配置 ReportViewer 控件和 ReportViewer 工具栏。可以删除或禁用特定的命令并设置用于初始化工具栏的值。有关 ReportViewer Web 服务器控件属性的更多信息,请参见 Microsoft.Reporting.WebForms.ReportViewer 属性。有关 Windows 窗体控件属性的更多信息,请参见 Microsoft.Reporting.WinForms.ReportViewer 属性

ReportViewer 工具栏

ReportViewer 控件包含一个工具栏,该工具栏具有导航、搜索、导出和打印功能,从而使用户可以在部署的应用程序中处理报表。您可以在设计时设置工具栏上的属性,来控制工具栏的外观并确定运行时选项的可用性。如果您希望实现不同的工具栏,可以创建自定义的工具栏,以代替默认的工具栏。

备注

由于利用 HTML 和 Graphics Design Instrumentation (GDI) 格式呈现用户界面元素的方式有所不同,因此,报表工具栏将因您使用的是 Web 服务器控件还是 Windows 窗体控件而不同。

文档结构图

文档结构图是一个包含链接列表的导航区域,用户可以单击这些链接导航到报表的特定区域。文档结构图是一个位于报表视图区域左侧(在从右向左环境中则位于右侧)的可折叠拆分框。并非所有报表都具有文档结构图;如果要在报表查看器中显示文档结构图,则必须在报表定义中定义一个文档结构图。有关文档结构图和其他交互报表功能的更多信息,请参见Adding Interactivity and Navigation to a ReportViewer Report

导航报表

ReportViewer 工具栏包含多种页导航功能。用户可以选择特定页,也可以直接导航到第一页或最后一页。页由在报表定义中显式定义的分页符确定。根据您正在使用的报表输出格式,还可以自动计算分页符。有关更多信息,请参见Defining Page Size and Page Breaks in a ReportViewer Report

由于 ASP.NET ReportViewer 控件在默认情况下使用异步回发进行交互,因此用户无法使用浏览器的**“后退”**按钮,除非将 InteractivityPostBackMode 属性设置为 AlwaysSynchronous

若要导航钻取报表,用户可以使用 ReportViewer 工具栏上的**“返回父报表”按钮,或者使用浏览器的“后退”**按钮(如果您相应地设置了 InteractivityPostBackMode 属性)。但是,建议您使用一个导航选项来设计应用程序,以便在用户导航钻取报表时保持会话状态一致。否则,用户在导航钻取报表时可能会收到“回调而不使用钻取报表”[Back call without drillthrough report]错误消息。若要使用户能够使用一个导航选项,您可以:

停止并刷新报表

在 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 查看器中显示导出的报表,而不用将报表保存为文件。

根据您选择的呈现格式,同一报表可具有不同的外观和功能。具有链接、文档结构图和书签的报表在保存为文件后可能不会正常运行。根据您对齐报表中项目所采取方式的不同,采用不同文件格式的报表布局可以包括不同数目的页或额外空白。有关更多信息,请参见 SQL Server 联机丛书中的Exporting Reports

请参阅

概念

通过 ReportViewer 打印报表

ReportViewer Web 服务器控件和 Windows 窗体控件

将 ReportViewer 配置为进行本地处理

将 ReportViewer 配置为进行远程处理