Reporting Services 与 Visual Studio 中的 ReportViewer 控件

新建日期: 2005 年 12 月 5 日

ReportViewer 控件是 Visual Studio 数据控件,可将其添加到 ASP.NET 应用程序项目的网页中,或添加到 Visual Basic Windows 应用程序的窗体中。此控件将报表处理和查看功能直接嵌入应用程序。它还提供了一个集成设计环境,以便您可以使用任何 ADO.NET 数据对象的数据生成客户端报表定义 (.rdlc)。使用功能完备的 API,允许您以编程方式访问控件和报表,以便在运行时配置报表功能。

尽管 ReportViewer 控件与 Reporting Services 均由相同的 Microsoft 报表技术生成,但前者是作为 Visual Studio 2005 中的数据控件而发布的。您可以将此控件和 Reporting Services 一起使用,或将其作为提供丰富报表功能的嵌入式数据控件而使用。

若要了解有关 ReportViewer 控件的详细信息,请搜索 Visual Studio 产品文档中的“ReportViewer 控件 (Visual Studio)”。

功能摘要

下表显示如何在报表处理、数据检索、部署以及报表设计方面对 ReportViewer 控件和 Reporting Services 进行比较。可使用此信息来确定哪种 Microsoft 报表技术是您应用程序的最佳选择。

功能 ReportViewer 控件 SQL Server Reporting Services

报表处理

在客户端应用程序中处理报表(本地模式),或承载在远程 SQL Server Reporting Services 报表服务器中运行的服务器报表(远程模式)。

在报表服务器中处理报表,这是一个在 Internet 信息服务 (IIS) 上运行的中间层 Web 服务。

报表输出格式

对于在 Windows 应用程序中运行的报表,格式为 GDI。对于在 ASP.NET 网页中运行的报表,格式为 HTML。

导出格式包括 Microsoft Excel 和 PDF。

HTML、MHTML、TIFF、PDF、Excel、CSV 和 XML。

可以编写自定义输出格式。

报表功能

用于多维数据、关系数据和可视数据的交互和静态报表。

可定义在报表中运行的自定义程序集。

可使用表达式提供条件格式与聚合。

报表功能包括 ReportViewer 控件中运行的报表所提供的所有功能,以及包括对可在报表中创建并运行的自定义报表控件的支持。

数据源类型和数据检索

客户端处理:

直接绑定到 ADO.NET 数据表,并使用为控件提供的 DataTable 实例。也可直接绑定到业务对象。数据处理与报表处理是分离的。应用程序向报表提供行集。控件将行集合并到报表中,并使其以输出格式呈现。

服务器端处理:

报表包含来自支持数据源类型的数据。数据处理和呈现在报表服务器中执行,然后将报表加载到 ReportViewer 控件中。

在报表服务器和远程数据服务器中集成数据与报表处理。

报表服务器中的数据处理扩展插件确定支持的数据源类型。默认数据源包括 SQL Server、Analysis Services、SQL Server Integration Services、Oracle、XML 和 OLEDB。

可创建自定义数据处理扩展插件,以支持其他数据源类型。

报表参数化

客户端处理:

对报表参数的内部支持允许基于静态值对结果集进行条件格式设置和筛选。

如果要在运行时接受用户查询参数或报表参数输入,则必须在应用程序中编写代码加以支持。

与 Reporting Services 报表相比,以本地模式运行的 ReportViewer 控件不提供用于在数据处理过程中传递值的参数输入区域。在以本地模式运行的 ReportViewer 控件中不存在数据与报表处理的集成。

报表参数支持条件格式设置,并可映射到查询参数,从而提供了一种在运行时将报表参数值传递到某个查询的方式。默认情况下,报表会提供参数输入区域。参数属性可在设计时进行定义,在运行时进行管理。

报表设计与 Visual Studio 集成

在 Visual Studio 中创建客户端报表定义 (.rdlc) 文件。将报表模板添加到项目即可创建报表定义文件,并将文件添加到项目中,然后在 Visual Studio 工作区中打开集成报表设计器。

Visual Studio 数据源向导用于提供应用程序中的数据,以备稍后在报表中使用。

Visual Studio 报表设计器不包括“预览”选项卡。若要预览报表,请运行应用程序,再预览嵌入其中的报表。

Visual Studio 报表设计器集成了数据源窗口。当用户将字段从数据源窗口拖动到报表时,报表设计器会将有关数据源的元数据复制到报表定义文件中。此元数据由 ReportViewer 控件用于自动生成数据绑定代码。

通过 Business Intelligence Development Studio 在 Visual Studio 中创建报表定义。Business Intelligence Development Studio 会添加 SQL Server 组件特定的项目模板。若要创建报表,请从报表服务器项目模板或报表服务器项目向导模板中选择。

使用“数据”选项卡、“布局”选项卡和“预览”选项卡,您可以在同一个工作区中定义数据、创建报表布局并预览报表。

部署和分发

可再发行控件和 .rdlc 文件可包括在应用程序中。也可将报表定义作为流传递。

ReportViewer 在所创建并部署的应用程序的窗体或网页内承载报表。

ReportViewer 工具栏提供了页面导航、打印、搜索以及导出格式,以支持运行时操作。

部署 SQL Server Reporting Services 报表服务器。报表定义在报表服务器数据库中存储,在服务器中进行处理,在基于浏览器的应用程序或自定义应用程序中进行查看。

报表工具栏提供了页面导航、打印、搜索和导出格式等功能。

查看工具和 SharePoint Web 部件可用于按需查看报表。

分发功能包括将基于订阅的报表传递到电子邮件地址和文件共享位置。

Internet 访问

如果要在面向 Internet 的 Web 应用程序中使用报表,则建议使用网页中承载的 ReportViewer 控件。

可使用应用程序支持的安全基础结构将控件和报表置于现有的 Web 应用程序中。

可对 Reporting Services 报表服务器进行配置,以便进行 Internet 访问。您可能需要创建自定义身份验证扩展插件、修改配置文件以及针对安全套接字层 (SSL) 配置服务器,视应用程序和用户的要求而定。有关详细信息,请参阅配置用于 Internet 访问的报表服务器

企业功能

此控件中不包括任何功能。但是,可将此控件与提供企业功能的其他应用程序一起使用。

ReportViewer 控件非常适合提供 Windows Forms 应用程序和 ASP.NET 网页中嵌入的预定义报表。

ReportViewer 控件可承载位于报表服务器扩展部署(报表服务器部署对于控件而言是透明的)中的报表。

您可在任何高可用性部署模型内运行的自定义应用程序中使用此控件。

Reporting Services 支持下列企业功能:

  • 扩展部署。
  • 计划和按需报表处理。
  • 按需创建并可一次使用或保存到服务器的即席报表。
  • 将自定义报表输出路由到动态接受者列表的数据驱动订阅。
  • 管理和配置工具。

自定义

自定义是通过 API 支持的。

您还可以设置报表和 ReportViewer 工具栏的属性,以确定可视性和功能可用性。

可创建扩展插件以添加对数据处理、报表传递、自定义身份验证以及报表呈现的支持。

可设置报表、报表工具栏以及报表服务器的属性。

其他自定义是通过扩展 API 支持的。

示例和演练

在 Visual Studio 产品文档中搜索“Visual Studio 中的示例和演练”。

有关 Reporting Services 中示例和演练的信息,请参阅 Reporting Services 教程

文档

在 Visual Studio 产品文档中搜索“ReportViewer 控件 (Visual Studio)”。

SQL Server 2005 联机丛书记录了 Reporting Services。有关详细信息,请参阅 SQL Server Reporting Services

若要在 MSDN 上查看这些主题,请参阅 Visual Studio 中的示例和演练以及 ReportViewer 控件 (Visual Studio)

请参阅

概念

Reporting Services 组件概述
报表服务器
Reporting Services 简介

其他资源

Integrating Reporting Services into Applications

帮助和信息

获取 SQL Server 2005 帮助