Reportviewer_报表

Reportviewer_报表
Reportviewer_报表

https://www.360docs.net/doc/091108775.html,服务器控件使用之Reportviewer 报表

1.Reportviewer 报表

1.1.Reportviewer控件

注:本教程附2个事例:

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

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

如果您已经对ReportViewer控件基础知识比较了解,可以直接参阅事例。

1.1.1.简介

Microsoft Visual Studio 2005 包括报表设计功能和ReportViewer 控件,使您可以将功能完整的报表添加到自定义应用程序。报表可以包含表格格式数据、聚合数据和多维数据。提供ReportViewer 控件的目的是可以处理和显示应用程序中的报表。控件有两种版本。

ReportViewer Web 服务器控件用于在https://www.360docs.net/doc/091108775.html, 项目中驻留报表。ReportViewer

Windows 窗体控件用于在Windows 应用程序项目中驻留报表。

这两种版本的控件都可以配置为以本地处理模式或远程处理模式运行。配置为何种处理模式将影响有关报表从设计到部署的所有方面。

●“本地处理模式”是指ReportViewer 控件在客户端应用程序中处理报表。所有报表都

是使用应用程序提供的数据作为本地过程处理的。若要创建本地处理模式下使用的报表,需要使用Visual Studio 中的报表项目模板。有关详细信息,请参阅将ReportViewer

配置为进行本地处理。

●“远程处理模式”是指由SQL Server 2005 Reporting Services 报表服务器处理报表。在

远程处理模式下,ReportViewer 控件用作查看器,显示已经在Reporting Services 报

表服务器上发布的预定义报表。从数据检索到报表呈现的所有操作都是在报表服务器上

处理的。若要使用远程处理模式,则必须具有SQL Server 2005 Reporting Services 的

许可副本。有关详细信息,请参阅将ReportViewer 配置为进行远程处理。

若要在应用程序中使用ReportViewer 控件,则必须了解如何将控件添加到项目表单或网页中,如何配置控件来使用本地报表定义或服务器报表,如何更新数据源引用,以及如何在应用程序中测试和部署报表和控件。提供的演练有助于您学习这些关键技能。有关详细信息,请参阅示例和演练。

1.1.

2.将Reportviewer配置为进行本地处理

您可以将ReportViewer 控件配置为在本地处理报表,以使这些报表可以使用该控件提供的内置处理功能。如果配置ReportViewer 控件进行本地处理,则所有的报表处理都在承载应用程序的计算机上进行。报表使用的所有数据必须从客户端应用程序提供的数据中检索。

报表设计期间,必须事先定义报表中使用的数据源。运行时,应用程序必须生成数据表或检索报表中使用的数据。本地处理的报表可以获取数据表和业务对象中的数据。根据您使用的是Web 服务器控件还是Windows 窗体控件,为本地处理的报表配置数据源的步骤有所不同。有关支持的数据源的详细信息,请参阅为ReportViewer 报表创建数据源。

如何配置ReportViewer 进行本地处理

若要配置ReportViewer 进行本地处理,应选择或创建要用于ReportViewer 控件的客户端报表定义(.rdlc) 文件:

1.将工具箱的“数据”部分中的ReportViewer 控件添加到项目中的窗体或网页。

2.在“ReportViewer 任务”智能标记面板中,单击“设计新报表”来创建您要使用的.rdlc

文件。另外,您也可以选择“选择报表”来使用已是您项目的一部分的现有.rdlc 文件。

您只能选择一个报表。如果报表包含子报表或钻取链接,则文件列表中将会显示其他报表。

3.单击“设计新报表”会将空的.rdlc 文件添加到您的项目中,以图形设计模式打开空

报表,并提供菜单和设计图面,以便您可以创建新报表。若要创建新报表,您必须已经定义要使用的数据集。有关创建.rdlc 文件的详细信息,请参阅创建客户端报表定义(.rdlc) 文件。

4.生成或部署应用程序以验证报表是否正确地显示在应用程序中。

您可以使用演练来了解如何配置和使用本地处理模式的ReportViewer 控件。所有演练都包括本地处理报表的控件配置。有关详细信息,请参阅示例和演练。

何时使用本地处理

建议对于包括中小型号报表和数据集的应用程序使用本地处理模式。由于所有数据和报表的处理都是在客户端进行的,因此,如果您试图处理大型或复杂的报表和查询,性能可能会降低。如果您需要简单的部署策略,其中应用程序的所有部分都在同一台计算机上一起运行,也建议使用本地处理模式。

本地处理模式的功能不及远程处理强大,它适用于不需要报表服务器的独立应用程序。熟悉在远程SQL Server Reporting Services 报表服务器上运行的服务器报表的用户应注意以下特别之处:

1.客户端报表定义(.rdlc) 中的报表参数不映射到查询参数。客户端报表定义中没有参数

输入区域,它接受随后在查询中使用的值。

2.客户端报表定义不包含嵌入式查询信息。您必须定义返回可供报表使用的数据的数据

源。

3.通过RSClientPrint ActiveX 控件执行的基于浏览器的打印不适用于ReportViewer

Web 服务器控件中运行的客户端报表定义。打印控件是报表服务器功能集的一部分。

如果您受到这些特别之处的影响,您应该迁移到Reporting Services 安装或编写提供您所需功能的应用程序代码。

1.1.3.添加和配置Reportviewer控件

1.向项目中添加Windows 窗体或网页。

2.在图形设计模式中,将工具箱中的ReportViewer 控件拖至窗体或网页。

ReportViewer 控件位于工具箱的“数据”组中。控件包括“ReportViewer 任务”智能标记面板,这样您可以立即选择报表。

3.在“ReportViewer 任务”智能标记面板中,选择任务以添加报表并配置控件。指定报

表确定将控件配置为本地处理还是远程处理。

●单击“设计新报表”启动报表设计器,并在您的应用程序中创建报表定义(.rdlc) 文件。

可以在您的应用程序中创建在客户端本地处理的新报表。若要了解有关创建报表的详细信息,请参阅创建客户端报表定义(.rdlc) 文件。

●使用“选择报表”来选择现有报表定义。您可以选择在项目中定义的本地报表定义(.rdlc)

文件,也可以选择“服务器报表”来选择在SQL Server 2005 Reporting Services 报表服务器上发布的报表。

●选择服务器报表将控件配置为远程处理。若要选择服务器报表,必须知道报表服务器

URL 和报表的路径。报表路径必须以正斜杠( / ) 开头。若要运行报表,必须对报表服务器具有权限才能访问报表。如果不知道URL 或报表路径,请咨询报表服务器管理员。有关服务器报表的详细信息,请参阅将ReportViewer 配置为进行远程处理。

●选择现有的报表定义(.rdlc) 文件将控件配置为本地处理。选择报表时,必须选择.rdlc

文件;即使您的项目中包含.rdl 文件,也不能指定.rdl 文件。如果要使用.rdl 文件,必须对其进行转换。有关详细信息,请参阅创建客户端报表定义(.rdlc) 文件和转换RDL 文件和RDLC 文件。

●单击“在父容器中停靠”展开ReportViewer 控件的视图图面,以便它使用窗体或页面

中所有可用空间。此选项可用于Windows 窗体控件。

●单击“重新绑定数据源”更新报表中使用的数据表和业务对象的数据源绑定。此选项在

为控件选择报表之后可用。如果修改报表数据源,或在图形报表设计环境之外修改数据绑定报表项(例如,直接编辑XML),则需要重新绑定数据源。

4.选择ReportViewer 控件并打开“属性”窗口。

5.对ReportViewer 控件设置属性以确定视图区域的可见性和可用性。可使用参考文档

了解每种属性。有关详细信息,请参阅ReportViewer 属性。若要了解ReportViewer 工具栏,请参阅配置并使用ReportViewer 工具栏。

6.生成或部署应用程序以在窗体或页面中预览报表。

1.1.4.创建客户端报表定义(.rdlc)文件

ReportViewer 控件支持本地处理模式,该模式允许用户使用控件的内置处理功能运行客户端报表定义(.rdlc) 文件。可以容易地在应用程序项目中创建以本地处理模式运行的报表。创建这种报表的方法有两种:

●可以向应用程序项目中添加报表项。从“项目”菜单中选择“添加新项”时,可以选择

“报表”模板,从空白报表中生成报表布局。

●可以在配置ReportViewer 控件时,单击“设计新报表”。即打开一个空白报表。

如何创建和预览本地报表:

1.在Microsoft Visual Studio 2005 中,打开应用程序项目或网站。

2.创建要使用的数据源。可以使用项目中可用的数据集中定义的数据表或业务对象。有

关详细信息,请参阅为ReportViewer 报表创建数据源。

3.创建要在项目中使用的报表定义(.rdlc) 文件。

4.通过将工具箱中的表、文本框、矩阵、列表或图表添加到空白报表来定义报表布局。

这些项称为“数据区域”。数据区域绑定到数据源。具体来说,就是将数据区域中的每个单元映射到数据源中的字段。有关详细信息,请参阅向ReportViewer 报表添加数据区域。

5.通过添加样式、格式设置、图像、边框、页眉、页脚、排序及其他报表功能来完成报

表。有关详细信息,请参阅定义报表布局。

6.选择将包含控件的窗体或页面。

7.在图形设计模式中,将ReportViewer 控件添加到网页或窗体。ReportViewer 控件

位于工具箱的“数据”部分中。有关详细信息,请参阅添加和配置ReportViewer 控件。

8.在页面或窗体中调整控件的大小和位置。

9.在“ReportViewer 任务”智能标记面板中,选择创建的客户端报表定义(.rdlc) 文件

来将报表绑定到控件。有关打开智能标记面板的详细信息,请参阅使用“ReportViewer 任务”智能标记面板。

若要预览报表,可以生成或部署应用程序。只能通过在ReportViewer 控件中运行报表对其进行预览。没有只是针对.rdlc 文件的单独预览模式。请注意,您可以随时打开和编辑报表定义,然后生成或部署应用程序来检查结果。

向项目添加新的报表项:

向项目添加新的报表项时,会创建空白报表,并向项目添加Report.rdlc 文件。报表定义以图形设计模式打开。报表对象命名空间添加到项目中,可用的报表控件添加到工具箱中。

向报表添加报表项:

可以轻松创建简单的报表,方法是将报表项(例如,文本框、表、图表和图像)拖至报表设计图面,并对那些项设置属性。

●较复杂的报表可能包括用于自定义报表输出的参数和表达式。例如,若要获得某种股票

的市场分析报表,必须向报表中添加参数才能指定股票代码。您可以在您的应用程序中提供一个用户界面,用于从用户那里搜集参数值。参数可以传递到查询,以便更准确地指定数据选择条件;也可以用于筛选结果集,以便在报表中仅显示部分结果集。可以通过您的应用程序预定义参数值并传入;也可以在执行报表之前由用户指定参数值。

●表达式必须使用Microsoft Visual Basic 编写,用于聚合数据或执行条件格式设置。报表

还可以包含自定义代码。您可以在报表中嵌入自定义代码,也可以对作为应用程序一部分的自定义程序集调用方法。与表达式不同,自定义代码可采用Visual Basic 以外的其他语言编写。

1.1.5.部署报表和Reportviewer控件

您可以将报表和ReportViewer 控件作为应用程序的一部分自由发布。根据控件类型以及报表是配置为本地处理还是远程处理,部署要求会有很大不同。在同一个应用程序中,既可以部署本地处理的报表,也可以部署远程处理的报表。

重新发布ReportViewer 控件

可重新发布的ReportViewer 控件是一个名为ReportViewer.exe 的自解压缩文件,其中包括一个.msi 文件以及其他文件。您可以在以下位置找到ReportViewer.exe 文件:

C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\Report Viewer\ReportViewer.exe。

您所使用控件的类型决定运行ReportViewer.exe 的位置。

●如果使用https://www.360docs.net/doc/091108775.html, 应用程序部署控件,则必须在部署计算机上运行ReportViewer.exe。

●如果使用Windows 窗体应用程序部署控件,也必须在部署计算机上运行

ReportViewer.exe。您可以使用引导程序来自动完成此步骤:

1.打开项目属性页。

2.单击“发布”,再单击“必备组件”。

3.选中“Microsoft Visual Studio 2005 报表查看器”,然后单击“确定”。

4.发布应用程序。

在安装应用程序时,会在本地计算机上进行检查,以确定是否已安装ReportViewer。如果未安装,安装程序将安装它。

部署报表查看器Web 服务器控件的注意事项

在Web 场中部署https://www.360docs.net/doc/091108775.html, 应用程序需要进行其他配置,以确保在整个场中维护视图状态。如果是在Web 场环境中部署ReportViewer Web 服务器控件,则应在应用程序的Web.config 文件中指定machineKey 元素。有关详细信息,请参阅ReportViewer 的Web.config 设置。

必须注意,在ReportViewer Web 服务器控件中处理的报表对浏览器有要求。浏览器兼容性问题会影响某些种类的报表功能的可用性。有关详细信息,请参阅ReportViewer Web 服务器控件的浏览器支持。

分发报表

除非在运行时动态生成客户端报表定义(.rdlc) 文件,否则本地处理的报表将以.rdlc 文件存储在文件系统上,并且必须与应用程序一起提供。这些文件可以安装在磁盘驱动器上,或者编译到应用程序可执行文件中。

在远程服务器上处理的报表将存储在Microsoft SQL Server 2005 Reporting Services 报

表服务器上。应用程序中不包含任何报表文件,因为报表是远程处理的,并且本地系统中不存在报表。若要部署在报表服务器上发布的报表,必须提供对报表服务器进行访问的权限,并确保应用程序用户有权查看该服务器上的报表。部署服务器报表需要了解报表服务器所使用的身份验证扩展插件,以及提供内容访问权限和操作权限的、基于角色的身份验证模式。有关详细信息,请参阅服务器报表的部署注意事项。

1.1.6.为Reportviewer创建数据源

如果您将ReportViewer 控件配置为以本地处理模式运行,则客户端应用程序必须提供报表中包含的所有数据。在将数据用于报表之前,必须对数据进行完全处理。若要向报表提供数据,请在项目中定义指向数据源的数据连接。支持的数据源包括:

●自定义业务对象

●https://www.360docs.net/doc/091108775.html, DataTable

只要报表可以作为https://www.360docs.net/doc/091108775.html, DataTable 或业务对象的可枚举集合来提供,该报表就可以使用任意源中的数据。

如何为ReportViewer 报表添加数据源

建议使用下列方法来设置数据源,以便能够在客户端报表定义中使用该数据源。

●向应用程序项目中添加数据源并配置指向基础数据的数据连接。请在基础数据存储区中

选择要使用的特定数据。要在报表中使用的数据必须存在于“数据源”窗口中。对于数据表,数据源将显示查询所返回的列名称。对于业务对象的可枚举集合,数据源将显示由类对象所公开的简单数据类型的公共属性列表。

●若要创建数据表,请向项目中添加数据集,并使用TableAdapter 向导配置该数据表。

TableAdapter 向导提供了查询生成器和数据预览功能,使您可以立即确认查询结果。

●若要创建业务对象,请使用“项目”菜单中的“添加新项”命令,并选择类对象。提供

用于公开简单数据类型的公共属性的实现方式,以便在设计时使用。提供用于返回这些属性的可枚举集合的方法,以便在运行时使用。

配置了数据源之后,可绑定数据就会在“数据源”窗口中显示为一个层次结构。若要将数据绑定到报表,请将展开层次结构的节点拖到报表布局中的文本框或数据区域中。如果在定义了报表以后修改数据集,则必须更新报表和控件中的数据绑定。有关详细信息,请参阅更新和重新绑定数据源引用。

您可以在项目中包含任意数量的数据源。若要查看报表实际使用的数据源列表,请选择“报表”菜单中的“数据源”。若要在应用程序中预览报表及其数据,则必须生成或部署该应用程序以验证报表是否包含您期望的数据。有关配置控件和定义报表布局的详细信息,请参阅将ReportViewer 配置为进行本地处理和创建客户端报表定义(.rdlc) 文件。

若要立即开始操作,请使用下列演练来了解如何向项目中添加每种数据源:

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

使用业务对象

业务对象是公开简单数据类型的公共属性的任意应用程序对象。业务对象的示例可包括基础数据存储区中的客户对象集合、由应用程序创建的书籍标题对象数组或者从RSS XML 源创建的通道对象列表。

若要成为可访问的数据源,该集合必须支持IEnumerable。可绑定数据在“数据源”窗口中显示为一个层次结构视图。对于业务对象,数据源将显示由类对象所公开的简单数据类型的公共属性列表。您随后可以将它们绑定到报表定义中的数据区域和文本框中。

若要提供业务对象集合,可以向项目中添加类或添加对类程序集的引用。

使用数据表

DataTable 是https://www.360docs.net/doc/091108775.html, DataSet 的一部分,通过从“项目”菜单中选择“添加新项”可以轻松地将其添加到项目中。若要配置数据连接,请启动TableAdapter 配置向导。从“数据”菜单中选择“添加”,然后选择“TableAdapter”。还可以定义查询来限制结果集。向导结束后,可通过“数据源”窗口来访问DataTable 中的列,以便您可以将它们绑定到客户端报表定义中的数据区域和文本框中。

为ReportViewer Web 服务器控件定义数据源

数据源控件支持提取数据访问层,以便网页上的控件绑定到数据源,而该数据源随后绑定到实际数据。这使您可以有效地更改数据源,而无需将每个控件重新绑定到每个数据块。

当您设计网页时,“工具箱数据”区域将列出几个数据源控件,例如SqlDataSource 和XmlDataSource。某些数据源控件支持在网页中使用页内存,其他控件则使用共享数据。因为报表不使用页内存,所以对于ReportViewer Web 服务器控件,最佳选择是使用ObjectDataSource 控件。此控件在内存中缓存对象(DataTable 或业务对象集合)与报表数据区域之间架起了一座桥梁。如果向网页中添加了ReportViewer 控件,将会自动添加和配置ObjectDataSource 控件。

为了尽可能避免编写额外代码,https://www.360docs.net/doc/091108775.html, 的网页支持提供了额外的后台处理来检测提供可绑定业务对象的集合。如果向项目中添加的类将返回一个对象集合,且这些对象可以被标识为业务对象,则该集合将会自动添加到“网站数据源”窗口中。

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

起使用

本演练显示了如何为Microsoft Visual Studio 2005 https://www.360docs.net/doc/091108775.html, 网站创建报表,以及如何向网页添加ReportViewer 控件,以便用户可以查看该报表。

先决条件

本演练假定您可以连接到Oracle DataBase 实例,并且已建立EMPLOYEE_TABLE_2

表。您还必须对运行Microsoft Internet Information Services (IIS) 5.0 版或更高版本的服务器具有访问权限,并具有创建https://www.360docs.net/doc/091108775.html, 网页的权限。

EMPLOYEE_TABLE_2建表

view plaincopy to clipboardprint?

1.create table EMPLOYEE_TABLE_2

2.

3.(

4.

5.EMPLOYEE_ID NUMBER,

6.

7.EMPLOYEE_NAME VARCHAR2(20),

8.

9.AGE NUMBER,

10.

11.DEPARTMENT_ID NUMBER,

12.

13.PROJECT_ID NUMBER,

14.

15.LOGIN_ID VARCHAR2(20),

16.

17.LOGIN_PASSWORD VARCHAR2(20)

18.

19.)

20.

21.tablespace USERS

22.

23.pctfree 10

24.

25.initrans 1

26.

27.maxtrans 255

28.

29.storage

30.

31.(

32.

33.initial 64K

34.

35.minextents 1

36.

37.maxextents unlimited

38.

39. );

在您的计算机上执行以下步骤,以使用Visual Studio 2008 模板创建含有配置为查看您所创建报表的ReportViewer 控件的https://www.360docs.net/doc/091108775.html, 网页。常规过程如下:

1.创建新的网站。

2.通过添加DataSet 来定义数据连接和DataTable。

3.设计报表。

4.将ReportViewer 控件添加到应用程序。

5.编译和运行应用程序。

对于本示例,在Microsoft Visual C# 中创建应用程序。

创建新的网站

1.在“文件”菜单中,指向“新建”,选择“网站”。

2.在“新建网站”对话框中,选择“https://www.360docs.net/doc/091108775.html, 网站”。

3.在“语言”列表中,选择Visual C#,再单击“确定”。

4.在“位置”框中,保留选定的默认HTTP,然后输入网站根目录的位置,使用“浏览”

导航及创建新的文件夹(如果需要)。单击“确定”。

5.网站项目将打开,并显示Default.aspx 网页。

6.在“查看”菜单上,选择“设计器”。

现在您就可以修改网站的默认页。

通过添加数据集来定义数据连接和DataTable

1.在web.config中配置数据库连接

1)什么是web.config

可扩展的基础结构是https://www.360docs.net/doc/091108775.html, 配置系统的一大特色,该基础结构使您可以在最初部署https://www.360docs.net/doc/091108775.html, 应用程序时定义配置设置,以便可以随时添加或修改这些配置设置,同时对运作着的Web 应用程序和服务器产生的影响也将被减至最小。

2)配置连接

在web.config的下加上

view plaincopy to clipboardprint?

1.

2.

3. 4.

5.

其中Data Source是指tns中的Host String, User ID是oracle登陆用户名,Password是oracle登陆密码。providerName是数据提供者。

2.在服务器资源管理器中,右键单击网站项目(非解决方案节点),然后选择“添加新

项”。

3.在“添加新项”对话框中,单击“数据集”。提示您是否应将项添加到App_Code 文

件夹是,请单击“是”。这将把新的XSD 文件DataSet.xsd 添加到项目,打开数据集设计器,并调用TableAdapter 配置向导。

4.在“选择您的数据连接”页上,配置向导自动找到了Web.config中的连接,接受默认

连接并点击下一步。

5.在“选择命令类型”页上,选择“使用SQL 语句”。

6.在“输入SQL 语句”页上,输入以下SQL 查询以从EMPLOYEE_TABLE_2表中中

检索数据,再单击“完成”:

view plaincopy to clipboardprint?

1.SELECT t.employee_id, t.employee_name, t.age FROM employee_tabl

e_2 t

还可以单击“查询生成器”按钮,然后使用查询生成器创建查询,并使用“执行查询”按钮对其进行检查。

7.在“选择要生成的方法”页上,接受默认值“填充DataTable”(“方法名称”:Fill)

和“返回DataTable”(“方法名称”:GetData)。单击“下一步”。

8.在“向导结果”页上,单击“完成”。

现在已完成将https://www.360docs.net/doc/091108775.html, DataTable 配置为报表的数据源。

忽略以下错误,点击确定。

9.在Visual Studio 的“数据集设计器”页上,应看到添加的DataTable(默认名称为

DataTable1),其中列出了从查询定义得到的列。在“数据”菜单中,可以选择“预览数据”来检查查询结果。

设计报表

1.在“网站”菜单上,选择“添加新项”。

1.在“添加新项”对话框中,选择“报表”模板,输入报表文件的名称,再单击“添加”。

这将创建报表定义文件(默认为Report.rdlc),启动报表设计器,并在左窗格中显示“网站数据源”窗口。如果看不到“网站数据源”选项卡,请从“数据”菜单中选择“显示数据源”。

2.显示工具箱,将“报表项”组中的“表”拖至报表设计图面上。

表控件设计分三行,分别是表头,详细信息,表尾。表头是指报表的列字段,详细信息是绑定的列,既报表每列的数据,表尾是报表的每列的底部数据

3.在“网站数据源”窗口,展开DataTable1 节点,直至看到查询得到的列,然后将

Employee_Id 拖至表中第一列的中间行。中间行是详细信息行。请注意,指定详细信息行时,标题行会自动填充。

4.将“Employee_Name”字段拖至第二列的详细信息行,使其位于Employee_Id 字段

旁边。

5.将Age 字段拖至第三列的详细信息行,使其位于Employee_Name 字段旁边。

6.(可选)单击第一行左侧的“表格表头”按钮,并选择“粗体”格式样式。

7.在“文件”菜单上,选择“全部保存”。

向应用程序添加ReportViewer 控件

1.在解决方案资源管理器中,右键单击Default.aspx,选择“视图设计器”。

2.将工具箱中的“数据”组中的ReportViewer 控件拖至页面。

1)如果“数据”节点下没有ReportViewer图标,则右击“数据”节点,选择“选择项”。

2)在.NET Framework组件选项卡下选中命名空间为Microsoft.Reporting.WebForm下

的ReportViewer,点击确定。

3.通过单击网页上ReportViewer 控件右上角中的三角形,打开“ReportViewer 任务”

智能标记面板。在“选择报表”框中,选择Report.rdlc 的完全限定文件名。

Reportviewer_报表

https://www.360docs.net/doc/091108775.html,服务器控件使用之Reportviewer 报表 1.Reportviewer 报表 1.1.Reportviewer控件 注:本教程附2个事例: ●演练:在本地处理模式下将数据库数据源与ReportViewer Web 服务器控件一起使用 ●演练:在本地处理模式下将业务对象数据源与ReportViewer Web 服务器控件一起使用 如果您已经对ReportViewer控件基础知识比较了解,可以直接参阅事例。 1.1.1.简介 Microsoft Visual Studio 2005 包括报表设计功能和ReportViewer 控件,使您可以将功能完整的报表添加到自定义应用程序。报表可以包含表格格式数据、聚合数据和多维数据。提供ReportViewer 控件的目的是可以处理和显示应用程序中的报表。控件有两种版本。 ReportViewer Web 服务器控件用于在https://www.360docs.net/doc/091108775.html, 项目中驻留报表。ReportViewer Windows 窗体控件用于在Windows 应用程序项目中驻留报表。 这两种版本的控件都可以配置为以本地处理模式或远程处理模式运行。配置为何种处理模式将影响有关报表从设计到部署的所有方面。 ●“本地处理模式”是指ReportViewer 控件在客户端应用程序中处理报表。所有报表都 是使用应用程序提供的数据作为本地过程处理的。若要创建本地处理模式下使用的报表,需要使用Visual Studio 中的报表项目模板。有关详细信息,请参阅将ReportViewer 配置为进行本地处理。 ●“远程处理模式”是指由SQL Server 2005 Reporting Services 报表服务器处理报表。在 远程处理模式下,ReportViewer 控件用作查看器,显示已经在Reporting Services 报 表服务器上发布的预定义报表。从数据检索到报表呈现的所有操作都是在报表服务器上 处理的。若要使用远程处理模式,则必须具有SQL Server 2005 Reporting Services 的 许可副本。有关详细信息,请参阅将ReportViewer 配置为进行远程处理。 若要在应用程序中使用ReportViewer 控件,则必须了解如何将控件添加到项目表单或网页中,如何配置控件来使用本地报表定义或服务器报表,如何更新数据源引用,以及如何在应用程序中测试和部署报表和控件。提供的演练有助于您学习这些关键技能。有关详细信息,请参阅示例和演练。 1.1. 2.将Reportviewer配置为进行本地处理

Visual Studio 2008 水晶报表快速入门

Visual Studio 2008 水晶报表快速入门 医手 先新建一个Web项目: CrystalWebApp 为项目添加新项: CrystalReport1.rpt

在弹出的对话框,选择作为空白报表。用向导当然更方便,但在这里,白手起家或许能更好地理解。 在工具箱选择 Text Object,拖到报表头。写些字,设置字体之类的。在属性选项卡设置它的名字为 txtTitle 以供将来程序访问。 水晶报表对于程序员来说其实跟 Repeater 控件是很相似的。于是需要数据和字段名。在Repeater 控件中你可以很随意地指定要绑定的字段名。在程序还没有真正运行之前,这个字段名可以没有任何表的字段名跟它匹配,也可以没有任何类的属性名跟它匹配。但在水晶报表中,字段名在设计阶段就必须是真实存在的。还能稍感安慰的是,水晶报表一旦设计好之后,就能像 Repeater 控件那样绑定任意类型的对像。而不必是设计时指定字段来源的表或类。所以我们现在要创造些真实存在的字段名…… create table TabTest ( UserID int, UserName nvarchar(50), Age int, Birthday datetime ) 你可以用 Access 或者 Excel 来创造真实存在的字段名,但我这里是使用 SQL Server。 在 "字段资源管理器" 的 "数据库字段" 上按右键,选择 "数据库专家..."。在

弹出的对话框中,创建新连接==>OLE DB (ADO)(Access 或者 Excel 应点 "数据库文件" 前的 "+" 号)。在弹出的对话框,选择 "SQL Native Client" 作为提供程序。 按提示一步步地做,直到连上数据库。选择表 TabTest,把它弄到右边的框中。再点击确定。 折腾了半天就是为了这些字段名。对水晶报表的开发商无语…… 把需要显示的字段拖到 "详细资料"。"页眉" 和 Word 文档中的页眉完全不是一回事。这里的页眉其实就是列名(表头)。那么就顺便改一下列名吧。默认是有下划线的,可以改一下格式。

易语言使用Grid++Report起步教程

易语言使用Grid++Report起步教程 概述: 在本教程中,首先介绍用 Grid++Report 的报表设计器应用程序设计一个简单的清单式报表,我们最后会得到一个与 Grid++Report 例子模板中的‘简单列表.grf’类似的报表模板。接下来我们学习怎样让‘简单列表.grf’例子模板在易语言程序中运行起来。首先实现报表的打印与打印预览功能,通过本部分的学习我们可以得到一个类似本教程附带的‘打印与打印预览报表.e’程序。然后我们学习利用 Grid++report 的查询显示器控件实现报表在窗口中的查询显示,我们会创建一个类似本教程附带的‘在查询显示控件中显示报表.e’程序。通过本教程的学习,你将对 Grid++Report 报表模板设计与在易语言中使用 Grid++Report 有一个初步与直观的了解,开启你用 Grid++Report 在易语言中开发报表的大门,为你更进一步学习奠定了良好的开端。 具备一定的数据库方面的知识对开发报表非常重要,因为报表一般都需要从数据库中取数据,然后由报表工具生成出来,你应该对数据库方面的一些基本概念有所了解,能够写出基本的 SQL 查询语句。如果你具备这些基础知识,你学习用 Grid++Report 在易语言中开发报表会非常容易,如果你觉得这方面有所欠缺,建议你加强这方面的学习。本教程适用于第一次接触 Grid++Report 或对 Grid++Report 在易语言中使用还没有入门的易语言开发者。完成本教程的学习之后,建议你浏览并运行一遍 Grid++Report 自带的全部易语言例子,对 Grid++Report 的功能有所了解。 使用本教程你必须安装易语言的4.0或以上版本。必须安装 Grid++Report 报表组件,可以去 https://www.360docs.net/doc/091108775.html,下载最新的 Grid++Report。为了顺利完成本教程,你应该将 Grid++Report 安装在 C:\Program Files\Grid++Report 3 目录下。 教程包括以下内容: ?第一节:创建报表模板 ?第二节:配置 Grid++Report 在易语言中的使用 ?第三节:实现报表打印与打印预览 ?第四节:实现报表在查询显示控件中显示 第一节:创建报表模板 ?创建一个空白的报表模板 1.从 Windows 桌面执行‘开始->程序->Grid++Report 3.6->Grid++Report 报表设计器’启动报表 设计器应用程序。 此时一个空白的报表模板创建在报表设计器应用程序中。 ?定义报表头

ReportViewer控件最简单教程-Xieris

教程题目:使用Report Viewer控件制作报表。 环境:WIN7,VS2012, 代码:https://www.360docs.net/doc/091108775.html,。 需要元素(项目右击可添加这些项): Default.aspx Web窗体 Reoport.rdlc 报表 DataSet.xds 数据集文件(报表需要它规定格式) 需要实现效果: 1、能成功简单显示报表 2、使用list集合填充 3、使用DataTable填充 效果如下: 实现步骤: 基础: 1个button,1个report viewer(rv1)控件,直接从工具栏拖至页面即可。 右击项目,添加报表文件(Report.rdlc),双击报表文件,工具栏的控件会变成报表工具。Button事件(点击时显示报表):btn_Click.

代码如下: public void btn_Click(object sender, EventArgs e) { /*先清空原来数据集*/ rv1.LocalReport.DataSources.Clear(); /*设置报表文件*/ rv1.LocalReport.ReportPath = "Report.rdlc"; /*数据集的填充,效果2-3才需要*/ ReportDataSource rds = new ReportDataSource("DataSet1", loadData3()); /*将数据集添加到本地报表,效果2-3才需要*/ rv1.LocalReport.DataSources.Add(rds); /*刷新报表显示*/ rv1.LocalReport.Refresh(); } 加蓝色的代码,实现效果时需要改的,记住。 实现效果1: 打开Report.rdlc文件,从工具栏拖两个文本框,一个内容为hello,一个内容为world。 右击Default.aspx,选择浏览,这时,可以看见:

利用Reportviewer生成RDLC报表

利用ReportViewer生成RDLC报表 报表是应用程序,特别是数据库系统中的重要功能。在Visual Studio 2010中,自带的ReportViewer控件,可以满足常用报表功能的实现,而且使用方便,以下就将介绍利用VS2010中的ReportViewer控件创建RDLC报表,并在winform程序中调用的实例,使用C#语法。 第一步:创建一个Windows应用程序 在Visual Studio 2010中,选择“文件”菜单,新建-“项目”,从已安装模板中选择Visual C#,从中间的项目类型中,选择“Windows窗体应用程序”;在名称栏中,为项目指定名称;在位置栏中,指定想要保存的目录。完成之后,项目中会有一个Form1,以下从对它的窗体设计器开始讲解。 像下面这样修改Form1的属性,当然也可以保留默认属性: Form1.Text = "MS Reporting Services 101 with Smart Client" Form1.Size = 750, 300 第二步:为窗体(Form)添加报表查看器(Report Viewer) 报表查看器,我们可以把它理解为显示和预览报表的容器。它不仅可预览输出报表,还可帮助将报表信息生成各种格式(PDF或Excel等等),当然也包括打印功能。 请按如下步骤在Form1上放置好报表查看器控件: 依次找到工具箱(ToolBox)――报表--报表查看器(ReportViewer),并把它拖到Form1上。这会创建一个名为reportViewer1的新实例。 通过设置reportViewer1.Dock = Fill,报表查看器将会填充窗体的整个区域,以显示报表。 在完成第一步与第二步之后,窗体看起来应该如图1所示: 图1 第三步:为项目添加数据集(DataSet) 数据集是伴随报表查看器而来的,它保存并提供从数据源而来的原始数据,我们便可对这些原始数据进行处理或在C#程序中输出。

reportviewer教程

打开Visual Studio后,选择"文件"—>"新建项目",打开新建项目对话框: 打开新建项目对话框后,在“项目类型”中选“Visual Basic"中的Windows: (也可在“项目类型”中选其它语言中的“Visual C#") 再在模板中选"Windows 应用程序",并在名称中输入名称"ReportViewerTest":

按确定后,显示Form的设计画面: 将工具箱中ReportViewer拖入至Form1中,将Form1适当的调大一点:

这样就在Form1上创建了一个默认名为"ReportViewer1"的控件,这个控件 就是用来浏览报表的控件。 (如果是用C#语言就创建了默认名为"reportViewer1"的控件,是第一个字母的大小写有区别)点击"ReportViewer1",在它的右上角出现了一个小三角形: 点击右上角的小三角形,点选"在父容器中停靠": 出现以下画面:

打开解决方案资源管理器(按Ctrl+Alt+L或在菜单->视图->解决方案资源管理器): 右击这个项目名称"ReportViewerTest",在出来的菜单上选: 添加->新建项,如下图所示:

在添加新项对话框中选"报表",名称就用默认的Report1.rdlc: 再点添加后,出现Report1.rdlc的设计画面:

选择工具箱中报表项下的"表",将"表"拖到Report1.rdlc设计窗体中: 将"表"拖到Report1.rdlc设计窗体中后,会自动生成“table1" 表,如下图: 红框以内就是"table1" 表。 在红框以内是报表的空白区:

VS2010_RDLC自带报表使用手册.

RDLC使用总结 1、为什么要使用RDLC报表(简介) VS .NET开发中,用什么进行报表设计?可能的回答是Crystal Report,当然,必须承认Crystal Report的功能还是非常强大的,被Business Object收购以后,商业的成分也在逐渐增加,也形成了一定规模的用户群。 Visual Studio .NET进入2005版本以后,Crystal Report与IDE的结合更“紧密”了,至少我们看不到那个讨厌的注册窗口了。但是,Microsoft似乎并不容忍在自己的超级工具中竟然没有报表工具,于是Report Viewer Control出现了,我把它的报表称为RDLC报表。 在VS .NET 2005之前,SQL Server Reporting Services中已经提供了一种被称为报表定义语言(Report Definition Language, RDL)的语言;在VS .NET 2005中,Microsoft提供了针对这种报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。Microsoft将这种报表的后缀定为RDLC,RDL仍然是Report Definition Language的缩写,那么C代表什么呢?C代表Client-side processing,凸显了它的客户端处理能力。 这种报表的易用性和可定制性让我们完全有理由放弃Crystal Report,让我们来看看它的强大功能吧: 1)简单易用的控件,特别是Table控件,非常方便字段在报表上的排列; 2)灵活的可定制性,用XML来描述一个报表相关的一切,不用说了吧; 3)高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作; 4)支持DrillThrough数据钻取功能; 5)导出的Excel文件格式非常完美,而且并不需要安装Excel; 6)数据源处理极其方便,开发人员可以自己接管数据库连接、取数,然后将数据结果赋值给RDLC的数据集即可。 7)展示和数据分离,程序员更是可以编写一个RDLC设计器交有用户使用,这样用户就可以自行设计RDLC报表格式,程序员只负责定制数据接口即可。 RDLC MSDN:https://www.360docs.net/doc/091108775.html,/zh-cn/library/ms251671(VS.80).aspx 2、RDLC简单Demo 本文所有RDLC例子都是基于VS2005 C#,所有ReportViewer的处理模式都是Local模式。本报表Demo显示上文中提到的RDLC手册各节内容,下述为Demo的详细steps。 1)新建项目,选择Windows应用程序项目类型,输入工程名称RDLCDev; 2)修改Form1窗体名称为FrmRdlcUserGuide,在工具箱—>数据Tab选项卡中选择ReportViewer控件,将其拖入到FrmRdlcUserGuide,默认命名为reportViewer1,调整ReportViewer控件的大小和布局; 3)在解决方案资源管理器中选择RDLCDev工程,鼠标右击RDLCDev工程,添加新建

RDLC报表详细讲解与分析报告

RDLC报表随笔…… (,感谢网友”蜡人”) (一) VS .NET开发中,用什么做报表? 可能的回答是Crystal Report,自.NET“紧密”集成Crystal Report后,这可能是开发人员比较单一的选择。但是,这种集成似乎并不非常紧密,网络上充斥着关于使用Crystal Report的抱怨,太复杂也许是其最为令人诟病的地方,自定义性比较差也不能为程序员们所容忍。 当然,必须承认Crystal Report的功能还是非常强大的,被Business Ob ject收购以后,商业职能的成分也在逐渐增加,也形成了一定规模的用户群。 Visual Studio .NET进入2005版本以后,Crystal Report与IDE的结合更“紧密”了,至少我们看不到那个讨厌的注册窗口了。但是,Microsoft似乎并不容忍在自己的超级工具中竟然没有报表工具,于是Report Viewer Control出现了,我把它的报表称为RDLC报表。 在VS .NET 2005之前,SQL Server Reporting Services中已经提供了一种被称为报表定义语言(Report Definition Language, RDL)的语言;在VS .NET 2005中,Microsoft提供了针对这种报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。Microsoft将这种报表的后缀定为RDLC,RDL仍然是Report Definition Lan guage的缩写,那么C代表什么呢?C代表Client-side processing,凸显了它的客户端处理能力。 这种报表的易用性和可定制性让我们完全有理由放弃Crystal Report,让我们来看看它的强大功能吧: 1、简单易用的控件,特别是Table控件,非常方便字段在报表上的排列; 2、灵活的可定制性,用XML来描述一个报表相关的一切,不用说了吧? 3、高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表

VS2010报表ReportViewer数据的生成

VS2010报表ReportViewer数据的生成-添加程序运行过程中生成表字段与参数 开发环境:vs2010 报表工具:ReportViewer.exe 这个要另外安装 开发说明: 由于在开发、运行过程中,会生成一些汇总统计表,这样的表不一定会以数据库表的形式固定存在,因此,会以运行过程中,用DataSet\DataTable、参数的方式传递给ReportViewer。 关键点: 1、ReportViewer在制作报表时,要生成用户数据,需要添加数据表,在制作过程中,调用该表。但,如果该表是通过参数传递过来,会无法读取该表,因此,需要手工添加一个临时表给它。

2、临时表生成,解决,添加新建项方案中,添加新建项,数据-数据集,工具栏,添加table,再添加键,生成一个可供调用的临时表。 3、VS2010在制作表过程中,菜单会出现在两个地方,一个在主菜单出现,下拉后内容极少,不包括数据参数,一个在【视图】中,打开,在工具栏会出现数据参数等更多内容。

4、有了临时表、参数,就可以布局制作报表了,统计时间是数据参数传递的。

5、统计表的数据传输与参数参数程序 注:传递数据表 Microsoft.Reporting.WinForms.ReportDataSource r = new Microsoft.Reporting.WinForms.ReportDataSource(); https://www.360docs.net/doc/091108775.html, = "my_dt"; r.Value = da; 传递的表名称要与设计时的名称一致。

this.reportViewer1.LocalReport.DataSources.Clear(); this.reportViewer1.LocalReport.DataSources.Add(r); 传递参数 ReportParameter p = new ReportParameter("dt", dt); this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p }); _ds是通过中间层传输过来。 【参考代码】 private void bt_Sum_Class_Click(object sender, EventArgs e) { string dt = this.dateTimePicker1.Value.ToString("yyyy年MM月dd日") + " -至-" + this.dateTimePicker2.Value.ToString("yyyy年MM月dd日"); this.lb_title.Text = "[" + this.dateTimePicker1.Value.ToString("yyyy-MM-dd") + "]至[" + this.dateTimePicker2.Value.ToString("yyyy-MM-dd") + "]" + this.bt_Sum_Class.Text; DataSet _ds = gl.DecompressGetBytes(gl.BL.Get_Sum_Between_Classified_Zip(this.dateTimePicker1.Value, this.dateTimePicker2.Value)); DataTable da = _ds.Tables[0]; this.dataGridView1.DataSource = _ds.Tables[0]; this.dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); for (int i = 1; i <= this.dataGridView1.Columns.Count - 1; i++) {

C#报表控件ReportViewer

C#报表控件ReportViewer rdlc 例(1) 启动VS2005新建一个窗体项目,命名为TestProj 在左边的窗体内选择“添加新数据源”或在菜单上操作“添加新数据源”: 选择后出现对话窗体,选择“数据库”,进入“下一步”:

本数据源以SqlServer2000所提供的Northwind数据库为例,因此在数据库内选择驱动程序为SqlServer,具体操作视所用数据库而定(如果连接为Oracle,建议用Oracle所提供的ODP for .NET,地址: https://www.360docs.net/doc/091108775.html,/technology/global/cn/software/tech/windows/odpnet/index.html)。 选择数据源后,指定数据库文件,并进行测试,如果连接不通,请检查你的软件设置。

进行下一步,至显示出库文件内的表及视图,然后打开表,并选择其中的Employees,选择完成。

在数据源窗口中显示出所选择表及表内的字段,以备使用。

同时在资源管理器中,也可以看到新增加的数据文件。 2 报表浏览器 在新建的窗体内,放入报表浏览控件:

此报表浏览控件集成了报表查看及打印预览的功能,可直接输出至打印机,也可直接输出至Excel文件或PDF文件,对于喜欢看Excel表格的客户来说,这个报表控件非常不错。关于此报表的来源及台前幕后的各种说法,请自己查询相关的网站。 3 建立报表文件 选中报表浏览器控件后,在控件的右上角会出现一个小三角,点击后,出现一个菜单,选择“设计新报表”或在解决方案资源管理器中添加一个新的报表文件: 双击“报表项”内的“表”,则设计空白表内生成一个表格,我们可以在表格内添加数据项。 此报表的设计方式类似于MS以前的VB下报表设计环境。在报表设计器中,我将一份报表分为五个部分,从上至下为:报表标题区、列标题区、数据显示区、合计及页脚。如果将报表的设计形式显示出页眉及页

winform水晶报表基础操作从入门到精通

水晶报表基础操作从入门到精通 1、水晶报表注册码 在使用https://www.360docs.net/doc/091108775.html,自带的水晶报表时,请注册,否则只能使用30次,水晶报表注册码如下:注册号:6707437608 密码:AAP5GKS0000GDE100DS 2、https://www.360docs.net/doc/091108775.html,中使用水晶报表 我们采用下面的几步使用Push模式执行水晶报表: 1)设计一个DataSet 右击“解决方案浏览器”,选择“添加”--“添加新项”-->“数据集”,从“服务器资源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS数据库中)。再将此表拖入数据集中。而.xsd文件中仅仅包含一个结构图,但是不会有任何数据在里面。 2)创建一个.rpt文件同时将其指定给上一步建立的DataSet。 使用上面的介绍过的方法创建此文件,唯一的不同就是使用数据集来代替前面的直接连接数据。建立.rpt文件之后,右击“详细资料”-->“添加/删除数据库”,在”数据库专家“窗口中,展开”项目数据“(代替以前的OleDb),展开“https://www.360docs.net/doc/091108775.html,数据集”--“DataSet1”,选择“Stores”表。将“Stores”表添加到“选定的表”中,点击“OK”。 3)在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。使用PULL模式下的方法,建立一个WebForm,添加一个Crystal Report Viewer 控件,并设定其属性,此处与PULL模式下是一致的。代码如下: private MyReport oCR;//MyReport为MyReport.aspx.csk中的类名 private void Page_Load(object sender, System.EventArgs e) { DataSet1 ds = new DataSet1(); oCR = new MyReport(); SqlConnection MyConn = new SqlConnection(ConfigurationSettings.AppSettings["SqlConn"]); MyConn.Open(); //直接访问数据表 //string strSel = "select * from tbtree"; //SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn); //MyAdapter.Fill(ds,"tbtree"); //使用存储过程 SqlCommand cmd = new SqlCommand("display", MyConn); https://www.360docs.net/doc/091108775.html,mandType = CommandType.StoredProcedure; SqlDataAdapter MyAdapter = new SqlDataAdapter(cmd); MyAdapter.Fill(ds,"tbtree"); oCR.SetDataSource(ds); this.CrystalReportViewer1.ReportSource = oCR; this.CrystalReportViewer1.DataBind();

真正地全动态报表RDLC和ReportViewer

阅读本文需要有XML解析及https://www.360docs.net/doc/091108775.html, 相关经验。 本文编译器使用Visual Studio 2005数据库采用XML格式ReportView 版本为https://www.360docs.net/doc/091108775.html, 版本为2.0 一、水晶报表的缺陷 Crystal Repotrs的功能固然很强大,但是对我们写程序的人来说,是否支持动态生成才是最重要的。如果报表只能静态生成再嵌入到程序中,实在有些没意思。 不巧的是强大的水晶报表这一点做的很不好,我们可以在程序中动态修改数据源,也可以动态修改文本和字段,但是报表的一大特色,数据图表,却只能静态生成。也就是说,假如我设计报表时添加了一个图表,用户希望能在多个字段中选择自己想显示的,动态显示到图表中,水晶报表就做不到。对它来说,我们至多只能在程序中得到一张位图,这样就没有意义了。 这个时候我发现了ReportViewer,它用来显示RDLC语言表述的报表。RDLC最初被用在SQL Server for XML上。它实际上是一个XML文本,这就意味着我们在程序中很容易更改它的构架。ReportViewer是RDLC的浏览器,本身没什么好说的,需要注意的是它的数据源必须是DataTable对象。 二、结构模型 猛的一看有点复杂呵呵,其实还是挺简单的。 数据源 可以是传统数据库,也可以是XML表格 Data Adapter 及Connection 等 用来连接传统的数据库

DataSet 用来存储数据,同时可以直接操作XML文件 BindingSource 利用DateSet来填充BindingSource,这一步数据中转逻辑上有点多余,但是必不可少ReportDataSource 利用BindingSource来填充ReportDataSource,......-_-!! ReportViewer 利用ReportDataSource填充的数据及指定给它的RDLC报表文件来显示报表 三、示例代码 请大家注意: 1.这里我呈现给大家的只是如何实现报表,报表本身的制作及RDLC描述语言不在讨论范围。https://www.360docs.net/doc/091108775.html,同样不在讨论范围,感兴趣的读者可以参考这篇文章:《用VC轻松实现https://www.360docs.net/doc/091108775.html,》。 2. 如果按照MSDN上介绍的步骤,可以在VB或C#等语言中实现报表显示,但不能用在VC中,因为向导可能产生中文变量,而VC目前还不支持中文变量。请使用VC的读者按照我介绍的步骤来实现。 1.制作报表 新建一个空项目,在解决方案资源管理器中右键点项目名,添加新建项,找到Report,起个名字,点确定。 具体的制作不在这里说了,请参考相关的文章,或者下载我的示例代码,里面有两个做好的报表文件。 2.制作XML数据库文件 https://www.360docs.net/doc/091108775.html,连接传统数据库这里就不多说了,参见上面那篇链接文章。 方法1: 安装了SQL Server for XML的话,直接建立数据库模型生成XML文件即可。 方法2: 如果没有安装SQL Server for XML,需要绕个弯子: 1.先使用SQL Server 或其他数据库建立传统的数据库模型。 2.写个临时程序,利用https://www.360docs.net/doc/091108775.html,将数据库模型导入DataSet中。 3.利用DataSet::WriteXml("文件名");的方法生成XML数据库文件。 方法3: 同样没有安装SQL Server for XML时: 1.先写一个程序,在DataSet中建立数据库模型,当然编程建立要比方法1中的向导建立麻烦一些。 2.利用DataSet::WriteXml("文件名");的方法生成XML数据库文件。 3.连接数据库 https://www.360docs.net/doc/091108775.html,不再多说。 //连接XML文件 DataSet^ DateSet1 = gcnew DataSet(); DataSet1->ReadXml("XML文件");

ReportViewer教程

ReportViewer教程(1)-新建工程,添加Form和报表浏览器打开Visual Studio后,选择"文件"—>"新建项目",打开新建项目对话框: 打开新建项目对话框后,在“项目类型”中选“Visual Basic"中的 Windows: (也可在“项目类型”中选其它语言中的“Visual C#") 按确定后,显示Form的设计画面:

将工具箱中ReportViewer拖入至Form1中,将Form1适当的调大一点: ReportViewer教程(2)-添加空报表Report1.rdlc 这样就在Form1上创建了一个默认名为"ReportViewer1"的控件,这个控件 就是用来浏览报表的控件。 (如果是用C#语言就创建了默认名为"reportViewer1"的控件,是第一个字母的大小写有区别)点击"ReportViewer1",在它的右上角出现了一个小三角形:

点击右上角的小三角形,点选"在父容器中停靠": 出现以下画面: 打开解决方案资源管理器(按Ctrl+Alt+L或在菜单->视图->解决方案资源管理器):

右击这个项目名称"ReportViewerTest",在出来的菜单上选: 添加->新建项,如下图所示: 在添加新项对话框中选"报表",名称就用默认的Report1.rdlc: 再点添加后,出现Report1.rdlc的设计画面:

选择工具箱中报表项下的"表",将"表"拖到Report1.rdlc设计窗体中: 将"表"拖到Report1.rdlc设计窗体中后,会自动生成“table1" 表,如下图: 红框以内就是"table1" 表。

WinForm+VS2005下ReportViewer的自动打印原码

WinForm+VS2005下ReportViewer的自动打印原码 using System; using System.Collections.Generic; using https://www.360docs.net/doc/091108775.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using ControlLib; using System.Drawing.Printing; using Microsoft.Reporting.WinForms; using System.IO; using System.Drawing.Imaging; namespace ReportLib { public partial class CrystalForm : Form { private string _reportname = ""; private DataSet _datasource = null; private string _autoprint = ""; private IList m_streams; private int m_currentPageIndex; public CrystalForm(string reportname,DataSet datasource,string p1) { _reportname = reportname; _datasource = datasource; _autoprint = p1; InitializeComponent(); } private void CrystalForm_Load(object sender, EventArgs e) { this.reportViewer1.LocalReport.ReportEmbeddedResource = _reportname; this.reportViewer1.LocalReport.DataSources.Clear(); if (_datasource != null) { foreach (DataTable table in _datasource.Tables) { this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource(table.TableName, table)); } } this.reportViewer1.RefreshReport(); if(_autoprint=="1") { PPrint(); } } #region报表自打印 public void PPrint() { try { LocalReport report = this.reportViewer1.LocalReport; Export(report); m_currentPageIndex = 0; NBPrint(); if (m_streams != null) { foreach (Stream stream in m_streams) stream.Close(); m_streams = null; } } catch (Exception ex) {

VS2010建立使用水晶报表教程

首先下载安装水晶报表插件 1)SAP Crystal Reports, version for Visual Studio 2010 - 包括了报有DLL的水晶报表文件 2)SAP Crystal Reports, version for Visual Studio 2010 - 水晶报表部署时用到的文件 3)SAP Crystal Reports runtime engine for .NET Framework 4 (32-bit) 只支持32位系统的包 4)SAP Crystal Reports runtime engine for .NET Framework 4 (64-bit) 安装完成之后,用VS2010新建一个web应用程序或者网站项目,之后在项目里面添加一个水晶报表文件

之后新建表格成功 之后在项目里添加一个实体类public class demo { public demo() { }

public demo(string id, string name) { this.id = id; https://www.360docs.net/doc/091108775.html, = name; } private string id;//编码 public string Id { get { return id; } set { id = value; } } private string name;//名称 public string Name { get { return name; } set { name = value; } } } 之后打开刚才新建的水晶报表,找到下图所示

点击确定即可,之后按照箭头所示,拖动字段。 之后新建参数字段:

水晶报表教程

水晶报表是一个功能强大的报表工具,现在已经被Microsoft Visual Studio 2005(下文以VS2005简称)集成在一起。喜欢水晶报表的朋友可以方便使用了。我把水晶报表在vs2005的使用方法总结一下,供大家参考。 首先介绍一下我用的软件环境:Microsoft Visual Studio 2005;Microsoft SQL Server 2005 【数据用例】 服务器:SQLEXPRESS 数据库名:Test 数据库表:T 【说明】 水晶报表在应用时分两种方法,分别是拉模式(PULL)、推模式(PUSH)。拉模式:在水晶报表生成时的数据源是从水晶报表文件中的SQL语句从数据库中提取的,在编程时不用重写SQL语句,但要加上登录信息(具体方法,后面介绍)。推模式:在水晶报表生成时的数据源,是用编程时重写水晶报表中SQL 语句而生成的dataset对像。也就是说,推模式是用dataset组装水晶报表。 水晶报表组件介绍。水晶报表在VS2005中有两种组件,在WEB项目是分别是CrystalReportSource,CrystalReportViewer。在FORM项目里是分别是crystalReport,CrystalReportViewer。 CrystalReportSource,crystalReport是水晶报表的数据提供者;CrystalReportViewer是水晶报表的浏览器。另外还要介绍一下水的报表的文件是以rpt为扩展名的文件,该文件可以用VS2005生成。 下面分别介绍具体操作方法: 拉模式(PULL): 在拉模式中如要在水晶报表中的SQL语句加上条件参数时要用{?参数名}方式给出。例:“Select T1, T2, T3 FROM T Where T1=''{?parm}''” parm就是参数名 以下例子中所用到的水晶报表文件中使用的SQL语句是“Select T1, T2, T3 FROM T Where T1=''{?parm}''” parm就是参数名。 【WEB方式下】 using CrystalDecisions.Shared; using CrystalDecisions.CrystalReports.Engine; ///

///功能:拉模式提取水晶报表 ///个人主页:https://www.360docs.net/doc/091108775.html,/ /// /// /// protected void Button_pull_Click(object sender, EventArgs e) { // CrystalReport.rpt是水晶报表文件的名称;CrystalReportSource1是从工具箱加到页面上的水晶报表数据源对像。 CrystalReportSource1.ReportDocument.Load(Server.MapPath("Crystal Report.rpt"));

CrystalReportViewer1

申请者姓名:学位点名称:研究方向:申请项目名称: 研究生科研创新项目申请表 所在学校: 桂林电子科技大学 魏延恒 桂林电子科技大学网络优化 下一代overlay 多速率视频组播系统优化研究 广西壮族自治区学位委员会广西壮族自治区教育厅2013年10月21日

职称/职务 性别 姓名年龄最具代表性的成果在课题组中承担的任务 魏延恒男硕士研究生 在读 23 1.以第二作者撰写教材《OMNeT++网络 仿真》(所负责部分15万字) 2.完成论文《A Novel Gossip-based Multirate Overlay Multicast Strategy》(已投稿ICC会议) 3.完成 论文《基于gossip算法的overlay组播 负载均衡机制》拟投稿 新型overlay拓扑结构设 计、OMNeT++仿真模型实现 屈宇清男硕士研究生 在读 23 1. 论文《A New Energy-efficient Transmission Scheme Based Ant Colony Algorithm for Wireless Sensor Networks》(ChinaCom2013已 录用) 2. 申请专利《基于蚁群算法的高能效 无线传感器网络路由方法》(已受 理) 负载均衡算法设计、OMNeT++仿真实现 劳保强男硕士研究生 在读 24 1.参与并完成了基于熔岩地质下的无 线传感器网络设计与实现项目,参与 基于chirp超宽带系统发射机与接收机 的硬件实现项目工作; 2.完成论文《近程微波全息成像的仿 真分析》拟投稿。 算法仿真实现 呼金亮男硕士研究生 在读 26 1.参加国家基金项目一项《多跳无线 网络位置感知与能效优化》,形成论 文《蜂窝网中基于能量感知的内容协 作分发算法》初稿。 2.仔细研读了Dimitri P. Bertersekas撰写的《Nonlinear Programming》一书,对优化算法和优 化理论有一个深刻的理解并将其能熟 练应用于各种优化模型中。 算法设计、仿真实现 黄海琴女硕士研究生 在读 24熟练掌握排队论理论速率分配算法设计 项目概况 项目名称 项目类别 学科专业代 码 研究方向 社会科学项目 自然科学项目 申请经费万元 学科专业名 称 起止年限 是否重点学 科 至 国家级 自治区级 课题组成员简介 下一代overlay 多速率视频组播系统优化研究 2014年1月 2014年12月 3.0 081001通信与信息系统 网络优化

相关主题
相关文档
最新文档