预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共39页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第10讲数据交换与报表技术(扩展内容)内容提要课程导入实现思路:使用COM组件实现。COM:ComponentObjectModel(一)Word实现数据的显示与打印【涉及知识】引用Word动态链接库(MicrosoftWord11.0ObjectLib);对象模型中Cell对象的应用;DataGridView控件的应用;Word的Application对象的应用;Word的Document对象的应用。【设计目标】10/21/202410/21/202410/21/2024【设计目标】程序运行结果如图所示。三、CrystalReportVS提供两种报表设计模板:(1)微软报表:上图中名为“报表”或“报表向导”的模板,文件名后缀为“.rdlc”。用于设计在SQLServer报表服务器(MicrosoftReportingService)上发布的服务器报表,与SQLServer的版本密切相关。(不讲,请参考相关资料)(2)水晶报表:上图中名为“CrystalReports”的报表设计模板,文件名后缀为“.rpt”。集成于VS2003-VS2008版本,VS2010及以后的版本需要单独下载SAPCrystalReports,versionforVisualStudio2010安装。设计、调用简单方便、通用性强。(二)水晶报表基础知识2、嵌入式报表和非嵌入式报表不同点:①嵌入式报表具有与.rpt文件对应的同名包装类,直接通过代码与包装类进行交互,而不是与原始报表文件本身进行交互。非嵌入式报表则单独以.rpt文件形式存在,该报表不包含在项目内,也没有对应的报表包装类。②对于嵌入式报表,系统对项目进行编译时,与其他项目资源一样,报表和其包装类都会被自动嵌入到程序集中,用户看不到被包装后的.rpt文件。对于非嵌入式报表,如果是ASP.NET网站,要求该.rpt文件保存在网站根目录下,如果是Windows应用程序则要求分发后.rpt文件保存在和.exe文件相同的目录下。③对于嵌入式报表,如果修改了报表内容,必须重新编译整个项目。修改非嵌入式报表不须重新编译整个项目。3、相关操作①如何将报表设置为“嵌入式报表”和“非嵌入式报表”?在【解决方案资源管理器】中,水晶报表.rpt文件的【生成操作】属性默认为“嵌入的资源”,即嵌入式报表。如果将其【生成操作】属性改为“无”,该报表即成为“非嵌入式报表”(此时需要将【复制到输出目录】属性改为“始终复制”,以便在程序中能够访问到该文件)。②对于“非嵌入式报表”需要使用ReportDocument对象的Load方法将报表加载到ReportDocument对象模型中,然后用CrystalReportViewerApplication.StartupPath对象的【ReportSource】属性将报表绑定到ReportDocument对象。如:(三)嵌入式水晶报表设计器(四)报表节1)报表头(Section1)报表头节中的对象只在报表开头显示一次,一般在该节中放置希望只在整个报表开头出现的信息。2)页眉(Section2)保存在页眉中的对象在每页的顶部位置都会显示。3)详细资料(Section3)保存在详细资料中的对象在每条记录中都会显示。4)报表尾(Section4)报表尾节中的对象只在报表的结束显示一次,一般在该节中放置希望只在整个报表结尾出现的信息。5)页脚(Section5)保存在页脚中的对象在每页的底部都会显示。6)组页眉和组页脚(Section6)组页眉和组页脚中的对象分别显示在每个新组的开始位置和结束位置。(五)报表数据源水晶报表数据源可以(1)直接连接到数据库、(2)使用ADO.Net数据集。建议尽量使用ADO.Net数据集(要现在项目中创建DataSet数据集.xsd对象)。使用VS的ADO.NET数据集设计器,既可以从多种数据源(包括Access、Oracle和SQLServer数据库)创建ADO.NET数据集,也可以灵活、方便地控制报表的输出。(六)水晶报表的对象模型对象模型是指构成编程模型的核心类及其周围类。分类:CrystalReportViewer对象模型ReportDocument对象模型1.CrystalReportViewer对象模型CrystalReportViewer控件包含可用于控制该控件如何显示报表的属性和方法,以及少量的与绑定到该控件的报表进行交互的属性和方法。这些属性和方法构成了一个功能有限的CrystalReportViewer对象模型。CrystalReportViewer控件仅用于控制报表显示的形式,比如控制显示缩放比例等。而要与报表内部进行交互,则应该使用封装后的其他对象模型。