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

ReportViewer 控件用于承载您在 Microsoft Visual Studio 2008 中创建的报表。该控件有两个版本:用于 ASP.NET 页的 ReportViewer Web 服务器控件和可用于 Windows 窗体应用程序的 ReportViewer Windows 窗体控件。Visual Studio 根据用来嵌入控件的项目类型确定要使用的版本。如果在 ASP.NET 项目中嵌入 ReportViewer 控件,则自动获得 Web 服务器控件。

ReportViewer 功能

ReportViewer 控件的两种版本都支持以下功能:

  • 用于显示报表、工具栏和文档结构图的视图区域。工具栏是可配置的,它提供了运行时功能以支持多页报表中的导航、缩放、搜索、打印和导出功能。如果将一个文档结构图显式添加到报表中,它将显示出来。

  • 允许配置处理模式、视图区域和工具栏的属性。

  • 支持本地处理模式和远程处理模式,以便可以控制处理报表的位置和方式。本地处理模式检索由应用程序内的控件处理的客户端报表定义。远程处理模式则检索以前在 Microsoft SQL Server 2005 Reporting Services 报表服务器上发布的完全处理的报表。

  • 编程接口,以便可以自定义控件、配置控件,以及通过代码与控件进行交互,包括更改在运行时 ReportViewer 使用的数据源。

Web 服务器控件和 Windows 窗体控件之间的功能差异

您使用的控件类型可确定报表默认的显示格式和工具栏的可视化特征。在报表处理和部署策略方面,还存在其他差异。下表介绍了 ReportViewer Web 服务器控件与 Windows 窗体控件之间的差异:

默认的演示文稿格式

Web 服务器控件使用 HTML 格式显示报表,而 Windows 窗体控件使用图形设备界面 (GDI) 来提供与 Windows 用户界面样式一致的视觉体验。

该控件的两个版本都支持其他导出选项,这样便可以 PDF 或 Excel 文件格式查看报表。

处理

本地报表处理始终在 Windows 窗体控件中作为后台进程来执行。对于 Web 服务器控件,可以为异步处理配置本地报表处理。

打印

从 Windows 窗体控件打印报表使用了操作系统的打印功能。在远程服务器上处理报表时,从 Web 服务器控件打印报表使用了 ActiveX 打印控件。如果想要从 Web 服务器控件打印本地处理的报表,可以在打印之前将报表导出到其他输出格式。

部署

在 ASP.NET 应用程序的 Web 服务器控件中驻留的报表部署战略必须考虑会话状态和 Web 场配置。如果使用 Web 服务器控件处理远程报表服务器上的报表,则必须考虑如何对应用程序用户进行身份验证才能访问向报表提供数据的服务器和任何外部数据源。

浏览器要求

Web 服务器控件对浏览器有要求。若要使用 Web 服务器控件中提供的所有报表功能,应使用启用了脚本的 Microsoft Internet Explorer 6.0。您可以使用其他浏览器,但是可能遇到报表功能方面的功能限制。有关更多信息,请参见ReportViewer Web 服务器控件的浏览器支持

除了了解控件之间的差异外,更重要的是了解处理模式的效果。所使用的处理模式的类型将确定控件的使用方式,以及报表的创建、处理和部署方式。客户端上的本地处理适用于具有一组相对较小的预定义报表和对于应用程序是本地的数据源的应用程序。如果需要的处理功能比本地控件提供的处理功能更多,则建议使用报表服务器上的远程处理。远程处理需要访问 SQL Server 2005 的许可副本。有关处理模式的更多信息,请参见将 ReportViewer 配置为进行远程处理将 ReportViewer 配置为进行本地处理

另请参见

任务

演练:在本地处理模式下将数据库数据源与 ReportViewer Web 服务器控件一起使用

概念

部署报表和 ReportViewer 控件
配置 ReportViewer 以实现异步呈现
通过 ReportViewer 打印报表
优化报表布局以进行 HTML 输出(Visual Studio 报表设计器)
报表概述 (Visual Studio)
添加和配置 ReportViewer 控件
配置并使用 ReportViewer 工具栏