将 ReportViewer 配置为进行本地处理
您可以将 ReportViewer 控件配置为在本地处理报表,以使这些报表可以使用该控件提供的内置处理功能。如果配置 ReportViewer 控件进行本地处理,则所有的报表处理都在承载应用程序的计算机上进行。报表使用的所有数据必须从客户端应用程序提供的数据中检索。
报表设计期间,必须事先定义报表中使用的数据源。运行时,应用程序必须生成数据表或检索报表中使用的数据。本地处理的报表可以获取数据表和业务对象中的数据。根据您使用的是 Web 服务器控件还是 Windows 窗体控件,为本地处理的报表配置数据源的步骤有所不同。有关支持的数据源的更多信息,请参见为报表创建数据源。
如何配置 ReportViewer 进行本地处理
若要配置 ReportViewer 进行本地处理,应选择或创建要用于 ReportViewer 控件的客户端报表定义 (.rdlc) 文件:
将工具箱“数据”部分的 ReportViewer 控件添加到项目中的窗体或网页。
在**“ReportViewer 任务”智能标记面板中,单击“设计新报表”来创建您要使用的 .rdlc 文件。另外,您也可以选择“选择报表”**来使用已是您项目的一部分的现有 .rdlc 文件。您只能选择一个报表。如果报表包含子报表或钻取链接,则文件列表中将会显示其他报表。
单击**“设计新报表”**会将空的 .rdlc 文件添加到您的项目中,以图形设计模式打开空报表,并提供菜单和设计图面,以便您可以创建新报表。若要创建新报表,您必须已经定义要使用的数据集。有关创建 .rdlc 文件的更多信息,请参见创建客户端报表定义 (.rdlc) 文件。
生成或部署应用程序以验证报表是否正确显示在应用程序中。
您可以使用演练来了解如何配置和使用本地处理模式的 ReportViewer 控件。所有演练都包括本地处理报表的控件配置。有关更多信息,请参见 示例和演练。
您可以修改报表及更改处理选项,以便在远程 Microsoft SQL Server 2005 Reporting Services 报表服务器上处理报表。有关更多信息,请参见转换 RDL 文件和 RDLC 文件。
重要说明 |
---|
与 ReportViewer 控件的 WinForms 版本不同,WebForm 版本不支持在呈现报表后更改报表定义。若要更改报表定义,需要创建 ReportViewer 控件的一个新实例。 |
何时使用本地处理
建议对于包括中小型号报表和数据集的应用程序使用本地处理模式。由于所有数据和报表的处理都是在客户端进行的,因此,如果您试图处理大型或复杂的报表和查询,性能可能会降低。如果您需要简单的部署策略,其中应用程序的所有部分都在同一台计算机上一起运行,也建议使用本地处理模式。
本地处理模式的功能不及远程处理强大,它适用于不需要报表服务器的独立应用程序。熟悉在远程 SQL Server Reporting Services 报表服务器上运行的服务器报表的用户应注意以下特别之处:
客户端报表定义 (.rdlc) 中的报表参数不映射到查询参数。客户端报表定义中没有参数输入区域,它接受随后在查询中使用的值。
客户端报表定义不包含嵌入式查询信息。您必须定义返回可供报表使用的数据的数据源。
通过 RSClientPrint ActiveX 控件执行的基于浏览器的打印不适用于 ReportViewer Web 服务器控件中运行的客户端报表定义。打印控件是报表服务器功能集的一部分。
如果您受到这些特别之处的影响,您应该迁移到 Reporting Services 安装或编写提供您所需功能的应用程序代码。
在非托管 C++ Windows 应用程序中使用 ReportViewer 控件的特殊注意事项
当使用 ReportViewer 控件在非托管的 C++ Windows 应用程序中对报表进行本地处理时,需要将报表添加为嵌入托管资源文件。若要设置此链接器属性,请从**“项目”菜单中打开“<项目> 属性”,依次展开“配置属性”和“链接器”,然后单击“输入”。在“嵌入托管资源文件”**框中,键入报表文件的名称。