欢迎来到天天文库
浏览记录
ID:50040946
大小:120.00 KB
页数:15页
时间:2020-03-08
《C#网络应用编程基础 教学课件 作者 马骏1 第14章 水晶报表.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第14章水晶报表14.1水晶报表基础知识14.2在Windows应用程序中使用水晶报表14.3在VS2005网站中使用水晶报表本章主要内容:水晶报表的分类嵌入式水晶报表设计器水晶报表对象模型在Windows应用程序中使用水晶报表在VS2005网站中使用水晶报表14.1水晶报表基础知识14.1.1水晶报表的分类从外观分:标准报表、交叉表和邮件标签。从分发形式分:嵌入式报表和非嵌入式报表。14.1.1水晶报表的分类(续)嵌入式报表和非嵌入式报表不同点:①嵌入式报表具有与.rpt文件对应的同名包装类,直接通过代码与包装类进行交互,而不是与原始报表文件本身进行交互。非嵌入
2、式报表则单独以.rpt文件形式存在报表,该报表不包含在项目内,也没有对应的报表包装类。②对于嵌入式报表,系统对项目进行编译时,与其他项目资源一样,报表和其包装类都会被自动嵌入到程序集中,用户看不到被包装后的.rpt文件。对于非嵌入式报表,如果是ASP.NET网站,要求该.rpt文件保存在网站根目录下,如果是Windows应用程序则要求分发后.rpt文件保存在和.exe文件相同的目录下。③对于嵌入式报表,如果修改了报表内容,必须重新编译整个项目。非嵌入式报表修改了报表内容,不须重新编译整个项目。14.1.2嵌入式水晶报表设计器在嵌入式水晶报表设计器内,可以直接通过拖
3、放方式将一个报表对象(如数据库字段或文本对象)拖动到设计器上,然后使用“属性”窗口或快捷菜单格式化该对象;可以定义报表的数据源,选择要使用的数据记录并对其进行分组,设置报表对象的格式及布局。14.1.3报表节1)报表页眉报表页眉节中的对象只在报表开头显示一次,一般在该节中放置希望只在整个报表开头出现的信息。2)页眉保存在页眉中的对象在每页的顶部位置都会显示。3)详细资料保存在详细资料中的对象在每条记录中都会显示。4)报表页脚报表页脚节中的对象只在报表的结束显示一次,一般在该节中放置希望只在整个报表结尾出现的信息。5)页脚保存在页脚中的对象在每页的底部都会显示。6)
4、组页眉和组页脚组页眉和组页脚中的对象分别显示在每个新组的开始位置和结束位置。14.1.4水晶报表对象模型对象模型是指构成编程模型的核心类及其周围类。分类:CrystalReportViewer对象模型ReportDocument对象模型ReportClientDocument对象模型InfoObject对象模型14.1.4水晶报表对象模型(续)1.CrystalReportViewer对象模型CrystalReportViewer控件包含可用于控制该控件如何显示报表的属性和方法,以及少量的与绑定到该控件的报表进行交互的属性和方法。这些属性和方法构成了一个功能有限的
5、CrystalReportViewer对象模型。CrystalReportViewer控件仅用于控制报表显示的形式,比如控制显示缩放比例等。而要与报表内部进行交互,则应该使用封装后的其他对象模型。即尽量不要使用CrystalReportViewer对象提供的属性和方法与报表内部进行交互。14.1.4水晶报表对象模型(续)2.ReportDocument对象模型ReportDocument对象模型比CrystalReportViewer功能多、范围广。该对象模型提供了在代码中处理报表的各种能力。在VS2005中创建水晶报表文件.rpt,完成报表设计后,选择主菜单的【
6、生成】【生成解决方案】,系统会自动创建一个ReportDocument对象模型,在工具箱中即可以看到自动生成的与报表同名的组件,将该组件拖放到设计窗体后,即得到实例,使用该实例的属性完成对报表结构及报表内部数据的各种控制。14.1.4水晶报表对象模型(续)实例的属性完成对报表结构及报表内部数据的各种控制。例如:1)ReportDefinition属性获取ReportDefinition对象,该对象对应于报表设计器中的布局。2)DataDefinition属性获取DataDefinition对象,该对象对应于报表设计器中的字段资源管理器。14.1.4水晶报表对象模
7、型(续)3)SummaryInfo属性获取SummaryInfo对象,可以通过该对象设置报表主题等。例如:studentReport1.SummaryInfo.ReportTitle="学生情况表";该行代码的意思是设置报表标题为“学生情况表”。4)RecordSelectionFormula属性获取或设置记录选定公式,用于筛选指定的记录。例如:studentReport1.RecordSelectionFormula="{MyTable2.姓名}like'*王*'";该行代码的意思是匹配MyTable2中所有姓名中包含“王”的记录。14.1.5将ADO.NET数
8、据集作为报
此文档下载收益归作者所有