CrystalReportViewer控件(水晶报表插件)是VS2011水晶报表的必备组件!在使用VS2011水晶报表时,只有安装了这个CrystalReportViewer控件,才能将VS2011水晶报表的各项功能运用得得心应手!还在等什么?如果您有需求,就赶紧来IT猫扑网体验吧!
CrystalReportViewer控件(水晶报表插件)是VS2011水晶报表所配备的一款功能强大、具备动态性且支持交互操作的报表解决方案控件。在使用该水晶报表控件的过程中,当对象模型需要登录至安全的SQL Server数据库时,必须借助CrystalDecisions.Shared命名空间下的相关类来实现。

使用PUSH模式
我们采用下面的几步使用Push模式执行水晶报表:
1.设计一个DataSet
2.创建一个.rpt文件,并将该文件指定给上一步骤所建立的DataSet。
3.在aspx页面里拖入一个CrystalReportViewer控件,并把它和之前的rpt文件关联起来。
4.在代码中访问数据库并把数据存入DataSet
5.调用DataBind方法。
设计一个DataSet
1)在“解决方案浏览器”上点击右键,选择“添加”选项,接着点击“添加新项”,然后选择“数据集”。
2)在“服务器资源管理器”里找到“SQLServer”,从中把PUBS数据库中的“Stores”表拖放出来。
3)此时数据集中便会呈现出Stores表的结构示意图。
-.xsd文件里只包含一个结构图,其中不会有任何数据。
创建.rpt文件:
4)采用前面介绍过的方法来创建该文件,唯一的区别在于用数据集替代之前直接连接的数据。
5)创建.rpt文件后,右键点击“详细资料”——>"添加/删除数据库"
6)在“数据库专家”窗口中,展开“项目数据”(替代原有的OleDb),接着展开“ADO.Net数据集”——“DataSet1”,然后选择“Stores”表。
7)把“Stores”表添加至“选定的表”里,然后点击“OK”
8)采用PULL模式的方法,创建一个WebForm
创建一个CrystalReportViewer控件
9)创建一个CrystalReportViewer控件,接着对其属性进行设置,这部分和PULL模式下的操作是相同的。

使用Pull模式
我们将按照以下步骤,采用Pull模式来执行水晶报表。
1.第一步是创建rpt文件,接着通过水晶报表的设计接口来配置一些必要的数据连接。
2.把一个CrystalReportViewer控件拖放到aspx页面上,接着对该控件的属性进行设置,以此来指定我们在之前步骤中创建好的.rpt文件。
3.在代码中调用DataBind方法。
创建.rpt文件:
1)在右键点击“解决方案资源管理器”后,从弹出的菜单里依次选择“添加”——“添加新项”——>“CrystalReport”
2)在“CrystalReport库”里选中“作为空白报表”这个单选按钮,最后点击“确定”。
3)这里将弹出水晶报表设计器。
4)在报表里找到“详细资料区”并右键点击,接着依次选择“数据库”选项,再点击“添加/删除数据库...”。
5)在弹出的“数据库专家”窗口中,展开“OLEDB(ADO)”选项,随即会弹出另一个“OLEDB(ADO)”窗口。
6)在“OLEDB(ADO)”弹出窗口里,选中“Microsoft OLEDB Provider for SQL Server”,接着点击“Next”按钮。
7)指定连接的信息
服务器:ASPCN(您的机器是什么名字就写什么)
用户ID:sa
密码:
数据库:Pubs
8)点击“Next”,接着点击“Finish”按钮。
9)这时你就能在“数据库专家”窗口里看到我们所选的数据库了。
10)展开“Pubs”数据库,接着展开“表”,选中“Stores”表并把它添加到“选定的表”区域,然后点击“OK”按钮。
11)现在在“字段资源浏览器”里,左侧的“数据库字段”区域就会显示出你所选择的表,还有该表包含的字段。
12)将所需字段拖放到报表的“详细资料”区域。字段名会自动显示在“页眉”区域。若要修改页眉的文字,可右键点击“页眉”区域中的文字,选择“编辑文本对象”选项来进行编辑。
13)保存,这样我们就有了一个水晶报表文件。
创建CrystalReportViewer控件
14)回到之前的WebForm页面,把一个CrystalReportViewer控件拖放到该页面里。
15)打开CrystalReportViewer控件的属性面板,找到“DataBindings”区域并点击其右侧的[...]按钮
16)”CrystalReportViewer在“CrystalReportViewer数据绑定窗口”里,于右侧的“可绑定属性”中选中“ReportSource”,接着在右下角的“自定义绑定表达式”里设定.rpt文件的路径。
17)此时你可以在CrystalReportViewer控件里看到由部分虚拟数据构成的报表文件的预览效果。
注意:在上述示例里,CrystalReportViewer能够在设计阶段直接调用真实数据,这是因为此时数据已完成保存。要是在设计时数据尚未保存,它就无法展示真实数据,而是会显示一些虚拟数据,只有到执行阶段才会获取并呈现真实数据。
CodeBehind程序设计
18)在Page_Load方法里调用DataBind方法。
执行你的程序
19)创建并运行你的程序!
您现在可以直接在Web页面里使用水晶报表的部分功能,像页面导航、缩放之类的。
我们仅针对窗体(WinForm)的场景展开讨论。多数情况下,展示报表的界面具有一致性,所以通常会创建一个窗体类来承载不同报表的显示。在某些实现方式里,会在该窗体类内部实例化所需的报表对象,这就导致每次要呈现不同报表时,都得对这个报表显示窗体类进行维护,给我们带来不少麻烦。更严重的是,部分实现还将报表相关的逻辑也写入这个窗体类中,这明显违背了类的单一职责原则,同时也让报表和报表显示之间产生了很强的依赖关系。
报表查看器(CrystalReportViewer)是一个控件,它必须依托窗体或页面才能存在。在应用程序里,展示报表是常见需求。在.NET环境中,水晶报表是我们常用的工具,当不直接把报表发送到打印机时,就需要将报表呈现出来,这时候就离不开报表查看器了。
双平台——既适用于Web程序,也适用于Windows程序
简单来说,CrystalReportViewer适用于轻量级报表,其开发过程相对简便。
“所见即所得”——你只需在报表里设置好格式,打印出来的效果就会和你在屏幕上看到的报表完全一致。
可以导出为Excel文件或PDF文件,对于习惯使用Excel表格的用户而言,CrystalReportViewer报表控件是十分合适的选择。
-微软自带的报表控件,不存在任何版权或者限制
查看/打印功能方面,CrystalReportViewer报表浏览器整合了报表查看与打印预览的能力,既能够直接将内容输出至打印机,也可以直接
下载排行