VS.NET中Crystal Reports的使用

来源 :电脑学习 | 被引量 : 0次 | 上传用户:chenchaozhi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:介绍了Crystal Reports功能、结构和特点.通过在VS.NET创建具体的Windows应用演示了Crystal Reports的强大功能。
  关键词:VS.NET CrystalReports
  中图分类号 TP312 文献标识码 A 文章编号:1002-2422(2007)03-0019-02
  
  1 Crystal Reports简介
  
  1.1 Crystal Reports的功能
  (1)支持多种数据源和强大的内容创建功能;(2)交互式和自定义功能;(3)将报表并入应用程序。
  
  1.2 Crystal Reports的结构
  Crystal Reports访问数据库文件需要经过三层(如图1):Crystal Reports作为接口运行,通过此接口可以对数据库文件中存储的数据进行格式化、排列、选择和排序。它通过与数据转换层中的一个或多个文件通讯来获取数据,此数据转换层通过一组专用于Crystal Reports的DLL对来自不同数据源的数据进行转换。
  Crystal Reports Designer用于报表的设计,用户可以在报表设计过程中设置报表的标题、插入数据、公式、图表、子报表等操作。
  Crystal Reports Viewer是用于查看报表的控件。对于Web应用和Windows应用分别有不同的Viewer控件,但其功能基本相同,主要用途都是查看应用程序中的报表。除此之外,查看器控件对报表的控制是非常有限的。
  报表文件是在Crystal Reports Designer中设计的,用来确定来自数据源的数据显示方式的文件,默认安装方式下VS.NET已经安装一些报表文件(.rpt)示例。
  
  1.3 Crystal Reports的执行模式
  DataSouree是报表文件中数据的来源。报表文件取得数据的方法有两种:一种是让Crystal Reports自己选择数据而不使用任何代码;另一种是手动编写代码组装DataSet,然后将DataSet作为数据源绑定到报表文件。
  对应两种不同的取数据的方法,Crystal Reports有两种执行模式:
  (1)Pull模式:被请求时,Crystal Reports直接根据指定的驱动连接数据库,然后组装这些数据。
  (2)Push模式:开发人员需要自己编写代码连接数据库并组装DataSet,同时将DataSet中的数据传送至Crysta]-Reports。
  
  1.4 Crystal Reports的报表类型
  (1)Strongly-Typed报表:如果报表被加入到项目中去,则该报表即为Stronsly-Typed报表。此时用户拥有创建报表对象的权力,能够减少代码并提高性能。
  (2)Un-Typed报表:如果报表不直接包含在项目中,称为Un-Typed报表。此时,用户需要用Crystal Reports的ReportDocument对象创建一个实例,并手动调用报表。
  
  2 Crystal Reports在VS.NET中的应用
  
  2.1 建立到数据源的连接
  Crystal Reports支持多种类型数据的访问,如访问ODBC数据源、OLEDB数据源、Excel、Access中的数据、XML、OLAP数据源。用户可以根据报表中数据的具体来源建立到相应数据源的连接。若在Windows应用中报表的数据来源于SQL Server2000,可在VS.NET中从“工具箱”的“数据”选项卡上将“sqlConnection控件”拖到报表窗体中,在窗体下方显示该控件自动命名为sqlConnection1。
  在sqlConnection1控件的属性窗口中配置Connection-String属性,选择“新建连接”,指定数据库服务器名称为“TBDYJ”,选取合适的身份认证方式并输入身份认证信息,如果正确即可继续选取该数据库服务器上的数据库“students”,认证信息不正确则无法继续进行。
  
  2.2建立数据适配器
  从VS.NET的“工具箱”的“数据”选项卡中拖动“sql-Data.Adapter控件”到将要创建报表的窗体中去,建立名为sqlDataAdapter1的数据适配器同时自动弹出数据适配器向导对数据适配器进行配置。选了刚刚建立的到数据库连接,选择“使用SQL语句”访问数据库,通过“查询生成器”将对视图V_stud的查询作为数据适配器访问数据库students的方式。
  按照同样的方式再创建两个数据适配器sqlDataAdapter2和sqlDataAdapter3,分别配置为通过对视图V_course、V_sc查询来访问数据库students。
  
  2.3 生成ADO.NET数据集对象
  选取sqlDataAdapter1并右键单击选中快捷菜单中的“生成数据集”,此时会弹出“生成数据集”的对话窗口,在其中选择“新建”并输入新创建的数据集对象的名称,默认为DataSet1,此时系统自动在当前项目中添加一个名为DataSet1的数据集对象,同时生成数据集对象DataSet1的一个实例,默认名称为DataSet11,并为数据集建立架构,其中包含了数据库students中视图V_stud及其字段和类型的描述,但并不包括实际数据。
  
  2.4 设计新报表
  若准备在当前的工程中创建三种不同的报表分别显示学生情况、课程情况和每门课程学生选修情况及成绩,必须根据三种报表所要反映的内容创建三种不同类型的报表。
  先创建反映学生情况的报表。在“解决方案资源管理器”中选取当前的工程名称,右键单击在快捷菜单中选取“添加新项”,并在弹出的窗口的“模板”中选取“Crystal Report”,再输入名称即可,默认为CrystalReport1,此时即建立了一个新的报表类同时自动打开报表创建向导,用户可充分利用这些向导快速创建各种类型的功能强大的报表,在向导的帮助下可以快速选取报表中使用的数据来源(来源于刚刚生成的数据集DataSet11中的表V_stud)、选取在报表中要显示的字段、数据分组的依据字段、是否进行总计、对报表中的数据进行筛选、报表类型、图表类型等。设置完成后,可在报表设计器中对刚刚设置过的报表样式外观进行修改和调整。
  依同样的方法可建立另外两个报表文件CrystalReport2和CrystalReport3,分别用来显示课程信息和学生成绩信息。
  
  2.5 添加“CrystalReportViewer”控件
  CrystalReportViewer是用于查看报表文件的控件,从 “工具箱”的“Windows窗体”中选取CrystalReportViewer控件到窗体中去,默认名字为CrystalReportViewer1,为了能够在一个报表查看控件中查看三种不同的报表,可以窗体上再添加一个ComboBox控件comboBox1,在其属性Items中设置三个选项:学生信息表、课程信息表、成绩信息表,以方便用户通过不同选择查看不同的报表。
  
  2.6 添加事件处理代码
  采用数据访问的push模式,将数据从数据源中需要的数据推入数据集中,并将在报表所在的窗体加载事件(Form_Load事件)中添加如下代码:
  sqlDataAdapter1.Fill(dataSetll,“V_stud”);
  CrystalReport1 myrpt=new CrystalReport1();
  myrptSetDataSource(dataSetll);
  crystalReportViewer1.ReportSource=myrpt;
  可以通过ComboBox控件来选择所要查看的报表文件,还必须在comboBox1控件的SelectedindexChanged事件中添加如下代码:
  switch(int32.Pame(comboBox1.Selectedindex.ToString())){
  case 0:{
  sqlDutaAdaptcr1.Fill(dataSet11,“V_stud”);
  CrystalReport1 myrpt=new CrystalReport1();
  myrpt.SetDataSource(dataSet11);
  crystalReportViewer1.ReportSource=myrpt;
  break;}
  case 1:{
  sqlDataAdapter2.Fill(dataSetll,“v_cou”);
  CrystaReport2 myrpt=new CrystalReport2();
  myrpt.SetDataSource(dataSet11);
  crystalReportViewcr1.ReportSource=myrpt;
  break;}
  case 2:{
  sqlDataAdapter3.Fill(dataSet11,“V_SC”);
  CrystalReport4 myrpt=new CrystalReport4();
  myrpt.SetDataSource(dataSet11);
  crystalRcportViewer1.ReportSource=myrpt;
  break;}
  
  3 结束语
  
  本文通过使用Crystal Reports的Push数据访问模式在Windows应用程序中建立复杂的图表应用,展示了CrystalReports的功能:对于报表的更复杂的控制,可以使用通过非类型化的报表组件,在程序中进行控制。
其他文献
本报综合消息 日前,教育部公布了基础教育国家级优秀教学成果推广应用示范区评审结果,广州市成为全国首批入选区域(广东省2个城市入选)。在“全国基础教育国家级优秀教学成果推广应用示范区研讨班”上,广州展示了国家级优秀教学成果推广应用三年行动计划,获得专家及与会代表一致好评。  近年来,广州教育高度重视教学成果的培育和推广应用,通过遴选市级优秀教学成果项目及组织开展系列成果培育活动,大力培育基础教育教学
【摘要】佛山本土校本美术教材《童画佛山》立足佛山本土传统文化,充分挖掘本土资源,里面的内容以家乡传统文化为主,每一课除了会介绍佛山当地传统以外还会运用不同的制作手法来制作传统艺术作品,更好地传播了佛山本土传统文化。但笔者在教学过程中发现,大部分学生对传统艺术兴趣缺乏,或者说兴趣不高,导致部分课程课后结果不太理想。笔者认为,传统艺术的传播首要任务是先要让学生感兴趣,只有学生对传统文化真正感兴趣了,教
本報综合消息 3月8日下午,广东省教育厅召开座谈会,专题学习习近平总书记在全国政协医药卫生界、教育界委员联组会上的重要讲话精神,对教育系统学习贯彻工作进行再布置、再推动、再深入。省委教育工委副书记、省教育厅党组副书记李大胜同志主持会议并就学习贯彻工作作布置,部分高校负责同志参加座谈。  会议指出,习近平总书记在全国政协医药卫生界、教育界委员联组会上的重要讲话,充分体现了习近平总书记、党中央对教育事
【摘要】数形结合思想就是通过数量与空间形式之间的对应关系以及相互转换来解决问题的一种思想方法。“数”与“形”相结合,可以把抽象的数量关系与直观的图形结合起来,实现抽象思维与形象思维相结合,能优化解题途径,使学生形成解题思维,掌握解题技能,有效降低学生学习的难度,提高学习能力,发展思维能力。  【关键词】小学;高年级数学;数形结合思想;解决问题  数形结合思想就是通过数量关系与空间形式之间的对应关系
【摘要】初高中数学在内容、教学要求、思维结构等方面都存在较大差异,本文就如何衔接初高中数学教学问题,结合实践经验,从教材、教法和学法方面进行探讨,并寻求衔接策略。  【关键词】初高中;数学教学;衔接问题;策略  新课程改革使初高中数学教学存在较大差异,解决衔接问题变得尤为迫切:一方面,新课改初中数学的内容有所调整,难度有所降低;另一方面,高中数学仍面临选拔性的高考。在高中数学教学中,衔接问题成了高
[摘要]现如今,中国的整体经济状况已经有了很大的改善和加强,教育行业的发展也受到了越来越多阶层和人民的关注。德育教育作为教育领域当中重要的个人品德教育领域,也在初中阶段的教学当中扮演着十分重要的角色。正确的认识德育教育的内容,重视在初中阶段的教学内容,全方位的培养学生的学习技能和个人品质,这才是初中阶段教育的重心所在。也正是有了一份良好的个人品德和素养,在后续的学习任务以及工作晋升过程当中,学生才
引言  因承接“江苏省泗洪县生态休闲示范园区”的规划任务,笔者一行三人于2012年3月27日~28日赴江苏省泗洪县进行了实地考察。考察途中,江苏省泗洪现代农业产业园引起了笔者的极大兴趣,尤其是其中的无土栽培模式,既有常规的蔬菜基质培、水培模式,更有独具匠心的盆花墙式栽培和旋转栽培模式,在同类园区中具有一定的借鉴和推广价值。此外,就总体规划的产业布局和内容的完整性而言,对同类园区的规划也具有一定的参
摘 要 介绍提高BT下载速度从软件选择、软件设置、BT种子获取等多个方面进行了阐述。  关键词 BT Bitcomer 设置  中图分类号 TP393.09 文献标识码 B 文章编号:1002—2422(2006)05—0052—02 本文
【摘要】本文通过对教师、家长与学生三份班级管理问卷数据收集,抽取最有代表性的数据进行对比分析,探寻三者对班级管理态度的异同,了解班级管理的实际情况及今后应注意的问题,为建立更好的班级管理机制提供依据,以形成教育智慧。  【关键词】数据分析;问卷调查;班级管理  “数据驱动教育智慧生成的行动研究”是基于深圳市龙岗区五和小学(以下简称“五和小学”)的实际情况,立足于学生、教师与学校的发展,通过教师、学
摘要:创新源于实践,指向实践。本文以“中国古代建筑”实践活动的事件为例,指出基于创新思维培养的自主学习单的结构设计,主题问题设计,并总结了学习单的应用反馈,为实践活动中自主学习单的设计、为学生发展创新思维提供经验和借鉴。  关键词:实践活动 创新思维 学习单 自主学习  随着课程改革的深入和考试改革的推进,培养学生的创新思维能力成为教育中普遍关注的重点。关于学生创新思维培养的研究涉及各个学科多个方