版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章水晶数据报表设计,6,大纲,水晶报表的数据传递模型自定义水晶报表模板、报表的输出与打印带统计图表的报表,6.1水晶报表概述,VB.NET开发应用程序时,经常需要生成报表,一般使用水晶报表实现。水晶报表(CrystalReports)是一个优秀的报表开发工具,用于处理数据库,帮助用户分析和解释重要信息。水晶报表从1993开始就称为VisualStudio的一部分,并且现在已经称为VS.NET中的标准报表创建工具。CrystalReportsforVisualStudio可以连接到几乎所有的数据源,比如:DataSet。,6.1水晶报表概述,使用水晶报表设计的报表又称为RDLC报表。在VS.
2、NET2005之前,SQLServerReportingServices中已经提供了一种被称为报表定义语言(ReportDefinitionLanguage,RDL)的语言;在VS.NET2005中,Microsoft提供了针对这种报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。Microsoft将这种报表的后缀定为RDLC,RDL仍然是ReportDefinitionLanguage的缩写,C代表Client-SideProcessing,凸显了它的客户端处理能力。水晶报表具有如下的特点:(1)具有简单易用的控件,特别是Table控件,非常方便字段在报表上的排列;
3、(2)灵活的可定制性,用XML来描述一个报表相关数据;(3)高度可编程性,不需要报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作;(4)导出的Excel文件格式非常完美,任何其它报表在这方面都不能与之比拟,而且并不需要安装Excel。,6.1.1水晶报表数据传递模型,6.1.2使用已有的报表模板,默认情况下已有的报表模板在路径“C:ProgramFilesMicrosoftVisualStudio版本号CrystalReportsSampleszh-chsReports”中的FeatureExamples和GeneralBusiness目录下(安装的时候,由于设定安装路径的不同,上
4、面的路径会不同,可以利用搜索功能查找模板文件)。这里使用FeatureExamples目录下的HierarchicalGrouping.rpt报表模板。,使用已有的报表模板,案例名称:使用已有的报表模板工程名称:Proj6-1PublicClassForm1PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadDimdirAsStringdir=System.Environment.CurrentDirectoryDimpath=dir.Substring(0,dir
5、.LastIndexOf()-3)MessageBox.Show(path+HierarchicalGrouping.rpt)CrystalReportViewer1.ReportSource=path+HierarchicalGrouping.rptEndSubEndClass,6.2创建自定义报表,在数据库应用程序中,不同的数据库需要显示不同的字段,即使是同一数据库,不同的工程需要显示的顺序也是不一样的,所以一般都需要自定义报表。,6.2.1创建报表模板,新建基于Windows的工程Proj6-2,在“解决方案管理器”中,右击项目名,在“项目”菜单中选择“新建项”,选择“Crystal报表
6、”,接着弹出对话框“CrystalReports库”,在选项组“创建新CrystalReport文档”中,有3个选项:1.使用报表向导:有对话框指导完成报表的创建,并将选择保存到报表设计器中;2.作为空白报表:对报表不做任何设置;3.来自于现有的报表:用目前设计好的报表作为模板,重新设计报表。在选项组“选择专家”中包含三种不同的报表专家,可以指导完成特定类型报表的创建工作。有3个选项:1.标准:指导如何选择数据源和连接数据库表。还可以帮助用户添加字段以及分组、统计、图表以及排序。2.交叉表:报表中的数据作为交叉表对象显示,并指导自定义格式。3.邮件标签:允许用户格式化报表,目的是打印在任意尺寸
7、的邮件标签上。,分别选择“使用报表向导”和“标准”选项,下一步出现对话框“数据”,对话框“数据”为要创建的报表选择数据源,列表中包括如下的选项:1.项目数据:显示当前项目的数据源列表和ADO.NET的数据源;2.当前连接:显示当前连接到数据源的列表;3.收藏夹:显示“收藏夹”列表中维护的数据源列表。4.历史记录:显示最新5条使用过的数据源;5.创建新连接:显示可以创建的所有数据源,取决于安装过程中选定的数据访问组件。,在列表中选择“创建新连接”中选择“OLEDB(ADO)”文件夹,对话框“OLEDB(ADO)”,选择“MicrosoftOLEDBProviderforSQLServer”并进入
8、下一步,将要连接的数据库信息填写到对话框中。如果连接到本地的SQLServer,则服务器名字为“(local)”,用户名和密码分别为“sa”和“sa123”,并选择要连接的数据库为Sales。,单击按钮“完成”返回到“标准报表创建向导”对话框,依次点开文件夹,找到连接的数据,并将表“grade”添加到右边的选定列表中,如图6-8所示,将表“grade”中的所有字段都选中,并添加要显示的字段列表中。下面还有两个配置的窗口,分别是分组和筛选的对话框,因为这里不需要设置,所以都直接跳到最后一步“报表样式”,可选的样式有10个,这里选择“标准”样式。创建好的报表将加载到主窗口中,,默认的报表设计界面包
9、括5部分:1.报表页眉,设定全部页面的页眉显示样式;2.页眉,设定当前页的开头的显示样式;3.详细资料,设定各种数据的显示方式;4.报表页脚,设置对详细资料中数据统计相关的数据;5.页脚,设置当前页最后的显示样式。,6.2.2在工程中添加报表模板,要在Windows窗体上显示报表,需要添加CrystalReportViewer控件,按照以前的方法,在Form.Load方法中添加控件和报表的连接代码。案例名称:在工程中添加报表模板工程名称:Proj6-2PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs
10、)HandlesMyBase.LoadDimdirAsStringdir=System.Environment.CurrentDirectoryDimpath=dir.Substring(0,dir.LastIndexOf()-3)MessageBox.Show(path+HierarchicalGrouping.rpt)CrystalReportViewer1.ReportSource=path+CrystalReport1.rptEndSub,为了创建良好的用户体验,需要在程序中添加报表的验证信息。,ImportsCrystalDecisions.CrystalReports.Engine
11、ImportsCrystalDecisions.SharedImportsSystem.CollectionsPublicClassForm1PrivateSubSetDBLogonForReport(ByValmyConnectionInfoAsConnectionInfo)DimmyTableLogOnInfosAsTableLogOnInfos=CrystalReportViewer1.LogOnInfoForEachmyTableLogOnInfoAsTableLogOnInfoInmyTableLogOnInfosmyTableLogOnInfo.ConnectionInfo=myC
12、onnectionInfoNextEndSubPrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadDimdirAsStringdir=System.Environment.CurrentDirectoryDimpath=dir.Substring(0,dir.LastIndexOf()-3)MessageBox.Show(path+HierarchicalGrouping.rpt)CrystalReportViewer1.ReportSource=path+Crys
13、talReport1.rptDimmyConnectionInfoAsConnectionInfo=NewConnectionInfo()myConnectionInfo.ServerName=(local)myConnectionInfo.DatabaseName=salesmyConnectionInfo.IntegratedSecurity=FalsemyConnectionInfo.UserID=samyConnectionInfo.Password=sa123SetDBLogonForReport(myConnectionInfo)EndSubEndClass,6.2.3报表数据导出
14、与打印,水晶报表支持将报表导出的格式包括:1.AdobeAcrobat(.pdf);2.CrystalReports(.rpt);3.RichTextFormat(.rtf);4.MicrosoftWord(.doc);5.MicrosoftExcel(.xls);6.HTML3.2(.htm);7.HTML4.0(.htm)。数据导出有两种模式:1.拉模型。通过指定的数据驱动程序,来进行数据库的连接和提取数据。基本上,不需要开发人员编写代码。2.推模型。需要开发人员自己编写代码来处理数据库连接,填充DataSet,并传递到报表中。如果后台数据库需要认证,则应提供登录信息,这里需要编写代码来实
15、现;如果后台数据库是Access,则一般不需要提供登陆信息。,案例名称:数据导出和打印工程名称:Proj6-3PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickCrystalReportViewer1.ExportReport()EndSubPrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickCrystalRepor
16、tViewer1.PrintReport()EndSub,6.3带统计图表的报表,报告主要的功能是在两个方面1.方便的数据导出与打印;2.数据统计与分析功能。水晶报表是目前最强大的统计分析工具之一,利用它可以制作出功能丰富的报表。新建基于Windows的工程Proj6-4,添加建立好的水晶报表:“CrystalReport1.rpt”,同时添加CrystalReportViewer控件,并通过“智能任务”对话框设置“在父容器中停靠”,这样控件就可以正好填充满整个Form窗体,如图6-16所示。,6.3带统计图表的报表,执行结果,小结,本章介绍了水晶报表的设计与开发。对于水晶报表更深入的学习,可
17、以参考专门的水晶报表制作资料。本章侧重如何在VB.NET中使用水晶报表,介绍了如何使用现有的模板、如何实现报表的导出与打印以及带统计图表的报表的设计方法。,习题,一、选择题1水晶报表的特点包括_A.具有简单易用的控件,特别是Table控件,非常方便字段在报表上的排列;B.灵活的可定制性,用XML来描述一个报表相关数据;C.高度可编程性,不需要报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作;D.导出的Excel文件格式非常完美,任何其它报表在这方面都不能与之比拟,而且并不需要安装Excel。2.水晶报表不能导出成哪种类型_A.AdobeAcrobat(.pdf)B.CrystalReports(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重卡轮毂轴承单元建设项目可行性研究报告申请立项备案
- 二零二五年度房产置换补充协议书范本3篇
- 河南省鹤壁市(2024年-2025年小学六年级语文)部编版专题练习(下学期)试卷及答案
- 黑龙江伊春市(2024年-2025年小学六年级语文)部编版随堂测试((上下)学期)试卷及答案
- 工业互联网产业园项目实施方案
- 高速公路项目可行性报告
- 机场改造项目实施方案
- 算力产业园项目选址与环境分析
- 二零二五年度合同归档与风险控制管理合同3篇
- 特种无缝钢管项目申请备案可行性研究报告
- 2024年华电江苏能源有限公司招聘笔试参考题库含答案解析
- 远程银行行业背景分析
- 如何提高孩子的注意力和专注力
- 认识海洋生物
- 2022-2023学年海南省海口市重点中学八年级(上)期末物理试卷(含解析)
- 2023年金属技术监督上岗员真题模拟汇编(共1064题)
- 项目管理竞聘报告
- 胆石症教案完
- 护士个人优点和缺点(六篇)
- 教师管理培训系统的设计与开发
- 2021年新高考语文Ⅰ卷真题现代文阅读《石门阵》解析
评论
0/150
提交评论