文档结构图
ReportViewer 工具栏包含一个用来在报表上切换文档结构图的图标。文档结构图是附加到报表视图区域左侧的导航区域。它包含一系列链接,用户可以单击这些链接以导航到报表的特定区域。并不是所有的报表都具有文档结构图;如果您希望使用此功能,必须在报表定义中进行定义。有关文档结构图和其他交互报表功能的更多信息,请参见向报表中添加交互性、可见性和导航(Visual Studio 报表设计器)。
导航报表
ReportViewer 工具栏包含多种页导航功能。您可以选择特定的一页或直接导航到首页或末页。页由在报表定义中显式定义的分页符确定。根据您正在使用的报表输出格式,还可以自动计算分页符。有关更多信息,请参见定义报表中的页大小和分页符(Visual Studio 报表设计器)。
导航多页 HTML 报表时,可以使用浏览器的“返回”按钮。另外,如果您没有在应用程序中使用浏览器工具栏,可以使用 ReportViewer 工具栏上的“返回”按钮来代替。请注意,ReportViewer 工具栏的“返回”按钮的默认状态是禁用。如果希望使用此按钮,请启用 ReportViewer 控件上的 ShowBackButton 属性。
若要导航钻取报表,可以使用 ReportViewer 工具栏上的“返回父报表”命令、浏览器“返回”按钮或 ReportViewer 工具栏“返回”按钮。在 ReportViewer Web 服务器控件中查看钻取报表时,应始终使用一种“返回”按钮。如果在同一报表会话中组合使用“返回”按钮,您会处于一种尝试导航到不再存在于会话中的钻取报表的情况。如果发生此种情况,您将收到一条错误消息。使用“返回父报表”命令可防止发生此种错误情况。
导出报表
ReportViewer 工具栏提供导出格式,使您可以将报表另存为 Excel 或 PDF 应用程序文件。如果您正在使用 Web 服务器控件,可以在控件上设置 ExportContentDisposition 属性,这样便可以立即在 Excel 或 PDF 查看器中显示导出的报表,而不用将报表保存为文件。
根据您使用的是 Web 服务器控件还是 Windows 窗体控件,以及控件是配置为本地处理还是远程处理,打印支持有所相同。
ReportViewer Windows 窗体控件始终使用客户端操作系统的打印功能。单击报表工具栏上的“打印”图标,打开通用“打印”对话框,其已使用客户端计算机上配置的打印机进行了初始化。
ReportViewer Web 服务器控件用于服务器报表时,提供 ActiveX 打印控件,您可以用它代替浏览器打印功能。与浏览器打印功能相反,通过打印控件可以打印分页报表的所有页,但不包含某些浏览器添加到打印输出的页信息。根据浏览器设置的不同,您可能需要下载和配置控件。
ReportViewer Web 服务器控件用于客户端报表定义 (.rdlc) 文件时,不提供内置打印支持。虽然可以使用浏览器打印功能,但如果将报表导出为 PDF 或 Excel,然后从 PDF 查看器或 Excel 打印,效果会更好。
若要了解如何以编程方式打印报表,请参见演练:在不预览的情况下打印本地报表。
预览报表和设置页大小
Windows 窗体控件中的 ReportViewer 工具栏包括用于以打印布局查看报表和设置页大小的命令。单击“打印布局”后,ReportViewer 工具栏会更新,以只显示预览期间可以使用的命令。“打印布局”是一个切换命令。您可以通过单击此按钮在预览和报表会话之间切换。单击“页大小”后,您可以指定仅用于打印输出的页尺寸。页尺寸由报表定义中的值进行了初始化,但为了打印,您可以覆盖这些值。您不能将这些值与报表一起保存。
Web 服务器控件同样也支持预览和页大小功能,但它通过打印控件提供,而不是作为工具栏上单独的命令提供。
使用 ReportViewer Web 服务器控件为服务器报表配置打印控件
ReportViewer Web 服务器控件为服务器报表提供了 ActiveX 打印控件,这些服务器报表是在远程 SQL Server 2005 Reporting Services 报表服务器上处理的。首次单击 ReportViewer 工具栏上的“打印”命令时,此控件将自动下载,并安装在客户端计算机上。如果用户未安装该控件,或者如果报表服务器上禁用了对该打印控件的支持,则无法使用“打印”命令。安装该控件后,用户可以使用打印控件来打印配置为在 ReportViewer Web 服务器控件中运行的服务器报表。
根据浏览器设置的不同,每个用户可能需要对浏览器进行配置以便能够下载 ActiveX 控件。若要对 Internet Explorer