VS.Net水晶报表有下面一些主要的优点:
快速的报表开发
能够导出成为复杂的交互性图表
可以与其它控件一起在WebForm中使用
能够动态地将报表导出成为.pdf,.doc,xls,html,rtf等多种格式
水晶报表执行模式:
水晶报表取数据可以使用下面的方法实现:
- Pull 模式:
被请求时,水晶报表直接根据指定的驱动连接数据库然后组装这些数据。
- Push 模式 :
此时开发表不得不自己编写代码连接数据并组装DataSet,同时将它传送至报表。在些这种情况下,通过使用连接共享以及限制记录集合的大小,可以使用报表性能最大化。
水晶报表报表类型:
水晶报表设计器能够直接包含报表至工程也能够使用独立的报表对象。
- Strongly-typed 报表 :
当你将报表文件加入到项目中去时,它就变成了一个了; strongly-typed; 报表。在这些情况下,你将拥有直接创建报表的对象的权力,这将减少一些代码并且能够提供一些性能。
- Un-Typed 报表 :
这里的报表并不直接包含在项目中,因此称为'un-typed’ 报表。在这种情况下,你不得不使用水晶报表的”ReportDocuemt; 对象建立一个实例,并且”手动; 地凋用报表。
水晶报表结构:
客户端 :
客户端仅需要一个可以访问嵌入aspx页面报表的游览器就可以了
服务器 :
- 水晶报表引擎(Crystal Report Engine (CREngine.dll))
通过它可以完成一些任务,如在报告文件中合并数据,转换报告为其它格式等。也正是因为报告引擎的作用,才可以将Asp.Net中的水晶报表转换成为普通HTML格式
- 水晶报表设计器(Crystal Report Designer (CRDesigner.dll))
水晶报表就是在设计器中创建的,在设计器中你可以设计标题,插入数据,公式,图表,子报表等。
- .rpt报表文件
执行报表中的第一步就是在水晶报表设计器接口创建此报表,在默认安装中微软已经提供了一些现成的.rpt例子。
- Data Source
.rpt文件取得数据库的方法取决于你方法的选择,你能选择让水晶报表自己选择数据而不使用任何代码或者也可以选择手动的组装DataSet,然后再将其传送到报表文件。
- 水晶报表查看控件(Crystal Report Viewer web form Control (CRWebFormViewer.dll))
水晶报表查看控件是一个WebForm控件,可以将它看成是一个在.aspx页面中存放报表的容器。 注意:在一些复杂的操作中,报表服务器与Web服务器可能不在同一物理主机上,Web服务器将HTTP请求传送到报表服务器上去。水晶报表也可以当做WebService来执行。
在asp.net中使用水晶报表文件的操作步骤:
1) 从WebForm工具栏中拖动水晶报表查看器控件(Crystal Report Viewer)至.aspx页面中,如下图所示:
2) 打开水晶报表查看器控件的"显示智能标识"快捷窗口,选择报表源,(如果没有报表源,可以新建报表源),为方便测试,我这里选择的报表源为安装vs.net时系统自带的报表实例文件,我的地址为:C:\Program Files\Microsoft Visual Studio 8\Crystal Reports\Samples\zh-chs\Reports\General Business\World Sales Report.rpt,如下图所示:
OK,通过以上步骤我们已经初步会在vs.net中使用水晶报表了,在下一文章中,我会分别介绍水晶报表的pull模式和push模式。