报表设计与设计工具课件

上传人:痛*** 文档编号:174908328 上传时间:2022-12-17 格式:PPT 页数:69 大小:1.24MB
收藏 版权申诉 举报 下载
报表设计与设计工具课件_第1页
第1页 / 共69页
报表设计与设计工具课件_第2页
第2页 / 共69页
报表设计与设计工具课件_第3页
第3页 / 共69页
资源描述:

《报表设计与设计工具课件》由会员分享,可在线阅读,更多相关《报表设计与设计工具课件(69页珍藏版)》请在装配图网上搜索。

1、2022-12-17报表设计与设计工具1第第9章章 报表设计与设计工具报表设计与设计工具2022-12-17报表设计与设计工具29.1 报表概述报表概述9.2 VFP报表的设计与应用报表的设计与应用9.3 水晶报表的设计与应用水晶报表的设计与应用第第9章章 报表设计与设计工具报表设计与设计工具2022-12-17报表设计与设计工具39.1 报表概述报表概述n数据库应用程序一般包含数据库应用程序一般包含3个部分:个部分:数据输入:用户登录、用户注册等;数据输入:用户登录、用户注册等;数据处理:数据的增加、删除、修改和查询;数据处理:数据的增加、删除、修改和查询;数据输出:数据的列表、浏览等。数据

2、输出:数据的列表、浏览等。n输出是信息系统产生的结果或提供的信息输出是信息系统产生的结果或提供的信息对于大多数用户来说,输出是系统开发的对于大多数用户来说,输出是系统开发的根本目的根本目的和评价系统开和评价系统开发成功与否的发成功与否的最终标准最终标准尽管有些用户可能使用系统进行数据录入或实现数据处理,但都尽管有些用户可能使用系统进行数据录入或实现数据处理,但都需要系统输出经过录入或处理的信息以作检查需要系统输出经过录入或处理的信息以作检查2022-12-17报表设计与设计工具49.1 报表概述报表概述n信息系统数据输出的方式:信息系统数据输出的方式:窗体输出:窗体输出:n即使用窗体控件(如即

3、使用窗体控件(如GridView、TextBox等),展示数据源等),展示数据源中的数据内容;中的数据内容;n缺陷:难以控制数据布局;无法连接打印机实现纸质输出。缺陷:难以控制数据布局;无法连接打印机实现纸质输出。图形输出:图形输出:n即使用画图工具(如即使用画图工具(如.NET平台的画图类),展示数据源中的平台的画图类),展示数据源中的数据内容;数据内容;n缺陷:仅适合于展示数据的大概分布和发展趋势,无法显示缺陷:仅适合于展示数据的大概分布和发展趋势,无法显示具体的数据内容,特别是当要求显示的信息较多时;具体的数据内容,特别是当要求显示的信息较多时;报表输出:报表输出:n主要用于实现数据(原

4、始、汇总数据等)浏览和打印功能。主要用于实现数据(原始、汇总数据等)浏览和打印功能。2022-12-17报表设计与设计工具59.1 报表概述报表概述n窗体主要用于数据操作,实现交互窗体主要用于数据操作,实现交互n报表主要用于数据显示,实现打印报表主要用于数据显示,实现打印数据源数据源报表的组成报表的组成布局布局2022-12-17报表设计与设计工具6布局布局n报表布局:是指在报表页面上要打印的字段数据以及数据报表布局:是指在报表页面上要打印的字段数据以及数据在页面上的位置和样式等。即要在报表中显示哪些字段信在页面上的位置和样式等。即要在报表中显示哪些字段信息,以什么格式(字体、字号、线条和图案

5、)在什么位置息,以什么格式(字体、字号、线条和图案)在什么位置显示。显示。n例如:例如:Visual FoxPro提供了四种常规布局。提供了四种常规布局。列报表:每行是一条记录,各字段按水平方向排列,就象在浏览窗列报表:每行是一条记录,各字段按水平方向排列,就象在浏览窗口浏览一个表时的效果,见图口浏览一个表时的效果,见图(a)。行报表:一条记录由若干行组成,各字段按垂直方向排列,就象以行报表:一条记录由若干行组成,各字段按垂直方向排列,就象以append方式追加记录时的效果,见图方式追加记录时的效果,见图(b)。一对多报表:反映一对多的关系。一对多报表:反映一对多的关系。多栏报表:可以看成是水

6、平排列的多个行布局,同一页面上分多栏,多栏报表:可以看成是水平排列的多个行布局,同一页面上分多栏,每一栏可按列报表或行报表形式打印,见图每一栏可按列报表或行报表形式打印,见图(c)。2022-12-17报表设计与设计工具7布局布局学号年龄学号年龄 姓名姓名20080001 18张三张三20080002 19金明金明20080003 18李芳李芳学号学号20080001年龄年龄18姓名张三姓名张三学号学号20080002年龄年龄19姓名金明姓名金明学号学号20080003年龄年龄18姓名李芳姓名李芳学号学号20080001 学号学号20080003年龄年龄18 年龄年龄18姓名张三姓名张三 姓名

7、李芳姓名李芳学号学号20080002年龄年龄19姓名金明姓名金明(a)列报表列报表(c)多栏报表多栏报表(b)行报表行报表2022-12-17报表设计与设计工具8数据源数据源n数据源是报表数据的来源,可以是数据表、视图数据源是报表数据的来源,可以是数据表、视图或查询。或查询。用户在设计报表布局时,并不直接在页面上添加数据,用户在设计报表布局时,并不直接在页面上添加数据,而是为要输出的字段预留一个位置,采用添加而是为要输出的字段预留一个位置,采用添加“域控域控件件”的方式来实现,就如同在表单设计中用文本框控的方式来实现,就如同在表单设计中用文本框控件来显示某个字段一样。件来显示某个字段一样。在数

8、据显示在数据显示/打印时,打印时,“域控件域控件”从对应的字段中取得从对应的字段中取得具体数据填充在它所在的位置。具体数据填充在它所在的位置。2022-12-17报表设计与设计工具99.1 报表概述报表概述n报表设计的基本原则:报表设计的基本原则:1数据面向一个应用数据面向一个应用n应做到:数据量小,针对单个应用,版面排列简明、易懂应做到:数据量小,针对单个应用,版面排列简明、易懂2便于归档便于归档n报表大小要标准化(适合打印),要预留装订位置报表大小要标准化(适合打印),要预留装订位置3输出数据应能保证精度输出数据应能保证精度2022-12-17报表设计与设计工具109.1 报表概述报表概述

9、n报表示例报表示例12022-12-17报表设计与设计工具119.1 报表概述报表概述n报表示例报表示例22022-12-17报表设计与设计工具129.1 报表概述报表概述n报表设计的基本步骤:报表设计的基本步骤:(1)确定要创建的报表类型;确定要创建的报表类型;(2)创建报表布局文件;创建报表布局文件;(3)修改和设置布局文件;修改和设置布局文件;(4)预览和打印报表。预览和打印报表。2022-12-17报表设计与设计工具139.2 VFP报表的设计与应用报表的设计与应用nVFP报表文件的扩展名:报表文件的扩展名:.frx,备注文件:,备注文件:.frt。n标签是一种特殊的报表,其扩展名:标

10、签是一种特殊的报表,其扩展名:.lbx,备注文,备注文件:件:.lbt。n列报表:每行打印一条记录。列报表:每行打印一条记录。n行报表:一条记录在多行上打印。行报表:一条记录在多行上打印。n一对多报表:类似一对多表单。打印一条主表记录后,一对多报表:类似一对多表单。打印一条主表记录后,打印多条子表记录。打印多条子表记录。n多栏报表:每行打印多条记录。多栏报表:每行打印多条记录。2022-12-17报表设计与设计工具149.2 VFP报表的设计与应用报表的设计与应用nVFP报表的创建方式:报表的创建方式:用向导创建报表。用向导创建报表。用快速报表从单一表中创建报表。用快速报表从单一表中创建报表。

11、用报表设计器创建报表。用报表设计器创建报表。n用这三种方法创建的报表文件都可以用报表设计用这三种方法创建的报表文件都可以用报表设计器进行修改。器进行修改。2022-12-17报表设计与设计工具151 利用向导创建报表利用向导创建报表n报表向导报表向导 创建单表报表创建单表报表用于创建基于单张表或视图的列报表或行报表。用于创建基于单张表或视图的列报表或行报表。可用于创建分组总计报表,提供每组数据的统计值。可用于创建分组总计报表,提供每组数据的统计值。数据分组数据分组是指在报表中按指定顺序对成组的数据进行分类汇总。是指在报表中按指定顺序对成组的数据进行分类汇总。n一对多报表向导一对多报表向导 创建

12、一对多表报表创建一对多表报表创建包含一组主表记录及相关子表记录的报表。创建包含一组主表记录及相关子表记录的报表。2022-12-17报表设计与设计工具162 利用利用快速报表创建单表报表快速报表创建单表报表n利用报表设计器创建快速报表的操作方法:利用报表设计器创建快速报表的操作方法:(1 1)打开)打开“文件文件”菜单,选择菜单,选择“新建新建”选项。选项。(2 2)在)在“新建新建”窗口中,单击窗口中,单击“报表报表”,再按,再按“新建文件新建文件”按钮。按钮。(3 3)在)在“报表设计器报表设计器”窗口,打开窗口,打开“显示显示”菜单,选择菜单,选择“数据环数据环境境”选项。选项。(4 4

13、)在)在“数据环境设计器数据环境设计器”窗口,打开窗口,打开“数据环境数据环境”菜单,选择菜单,选择“添加添加”选项,添加作为报表数据的表。然后按选项,添加作为报表数据的表。然后按“数据环境设计数据环境设计器器”窗口的窗口的“退出退出”按钮,返回按钮,返回Visual FoxPro Visual FoxPro 系统主菜单下。系统主菜单下。1.1.(5 5)在)在Visual FoxProVisual FoxPro系统主菜单下,打开系统主菜单下,打开“报表报表”菜单,选择菜单,选择“快速报表快速报表”,进入,进入“快速报表快速报表”窗口。窗口。2022-12-17报表设计与设计工具172 利用利

14、用快速报表创建单表报表快速报表创建单表报表n利用报表设计器创建快速报表的操作方法:利用报表设计器创建快速报表的操作方法:(6 6)在)在“快速报表快速报表”窗口,按窗口,按“字段字段”,进入,进入“字段选择器字段选择器”窗窗口。口。(7 7)在)在“字段选择器字段选择器”窗口,选择出现在报表中的字段,按窗口,选择出现在报表中的字段,按“确确定定”按钮,返回到按钮,返回到“快速报表快速报表”窗口;再按窗口;再按“确定确定”按钮,返回到按钮,返回到“报表设计器报表设计器”窗口。窗口。(8 8)在)在“报表设计器报表设计器”窗口,打开窗口,打开“显示显示”菜单,选择菜单,选择“预览预览”进入进入“报

15、表设计器报表设计器”的另一个窗口。的另一个窗口。(9 9)当对报表显示的格式满意后,退出)当对报表显示的格式满意后,退出“报表设计器报表设计器”窗口,进窗口,进入入“系统系统”窗口。窗口。(1010)在)在“系统系统”窗口,选择窗口,选择“是是”,进入,进入“另存为另存为”窗口。窗口。(1111)在)在“另存为另存为”窗口,输入报表名字窗口,输入报表名字“报表报表1”1”,结束建立快,结束建立快速报表文件的操作。速报表文件的操作。2022-12-17报表设计与设计工具183 利用报表设计器创建报表利用报表设计器创建报表2022-12-17报表设计与设计工具193 利用报表设计器创建报表利用报表

16、设计器创建报表2022-12-17报表设计与设计工具203 利用报表设计器创建报表利用报表设计器创建报表2022-12-17报表设计与设计工具21在新建报表时,在新建报表时,“报表设计器报表设计器”默认的窗口包含有三个带区:页标头、默认的窗口包含有三个带区:页标头、细节和页注脚。细节和页注脚。(1)(1)添加标题和总结带区。单击系统菜单添加标题和总结带区。单击系统菜单“报表报表”中的中的“标题标题/总结总结”命命令选项,在弹出的令选项,在弹出的“标题标题/总结总结”对话框中,对话框中,设置报表标题或总结。设置报表标题或总结。这里我们选择这里我们选择“标题带区标题带区”和和“总结带区总结带区”,

17、单击,单击“确定确定”按钮,在按钮,在“报表设计器报表设计器”窗口上添加了标题和总结两个带区;窗口上添加了标题和总结两个带区;(2)(2)列表头、列注脚:在报表页面设置时,如果报表被设置成多拦报表,列表头、列注脚:在报表页面设置时,如果报表被设置成多拦报表,在在“报表设计器报表设计器”的窗口中还会出现两个带区。的窗口中还会出现两个带区。列标头:用于打印在每一列列标头:用于打印在每一列(一栏一栏)的开始。的开始。列注脚:用于打印在每一列列注脚:用于打印在每一列(一栏一栏)的结尾。的结尾。3 利用报表设计器创建报表利用报表设计器创建报表2022-12-17报表设计与设计工具223 利用报表设计器创

18、建报表利用报表设计器创建报表带区带区打印次数打印次数使用方法使用方法标题标题每报表一次每报表一次“报表报表”菜单中选择菜单中选择“标题标题/总结总结”带区带区 页标头页标头每页面一次每页面一次默认可用默认可用 列标头列标头每列一次每列一次从从“文件文件”菜单中选择菜单中选择“页面设置页面设置”设置设置“列数列数”1 组标头组标头每组一次每组一次从从“报表报表”菜单中选择菜单中选择“数据分组数据分组”细节细节每记录一次每记录一次默认可用默认可用组注脚组注脚每组一次每组一次从从“报表报表”菜单中选择菜单中选择“数据分组数据分组”列注脚列注脚每列一次每列一次从从“文件文件”菜单中选择菜单中选择“页面

19、设置页面设置”设置设置“列数列数”1 页注脚页注脚每页面一次每页面一次默认可用默认可用 总结总结每报表一次每报表一次从从“报表报表”菜单中选择菜单中选择“标题标题/总结总结”带区带区 2022-12-17报表设计与设计工具233 利用报表设计器创建报表利用报表设计器创建报表2022-12-17报表设计与设计工具243 利用报表设计器创建报表利用报表设计器创建报表2022-12-17报表设计与设计工具25在光标处开始输入标题名在光标处开始输入标题名“博士导师一览表博士导师一览表”;字号设置:先选中字号设置:先选中“学生报表学生报表”标签,再在系统菜单中选择【格式】标签,再在系统菜单中选择【格式】

20、|【字体【字体】,在弹出的】,在弹出的“字体字体”对话框中选择所需要的字体和字号以及字体样式。如选对话框中选择所需要的字体和字号以及字体样式。如选择择“黑体黑体”、“规则规则”、“二号二号”。接着再进行版面设置,选择【格式】接着再进行版面设置,选择【格式】|【对齐】【对齐】|【水平居中】。【水平居中】。在在“报表设计器报表设计器”中增加了标题带区中增加了标题带区(1)标题标题3 利用报表设计器创建报表利用报表设计器创建报表2022-12-17报表设计与设计工具26(2)域控件域控件 单击报表控件上的域控件,打开表达式生成器,也可以将单击报表控件上的域控件,打开表达式生成器,也可以将“数据环境设

21、计器数据环境设计器”打开来添加细节内容。打开来添加细节内容。使用使用 报表控件工具栏中的域控件,将要列在报报表控件工具栏中的域控件,将要列在报表中的字段添加到细节带区,或从表中的字段添加到细节带区,或从“数据环境数据环境设计器设计器”中逐个拖到细节带区。中逐个拖到细节带区。设置字体字号及调整布局:方法同页标题。使用设置字体字号及调整布局:方法同页标题。使用报表默认的字体和字号。报表默认的字体和字号。控件对齐:选中细节中的全部域控件,然后在系统菜单中选择【格式】控件对齐:选中细节中的全部域控件,然后在系统菜单中选择【格式】|【对齐】对齐】|【顶边对齐】。【顶边对齐】。3 利用报表设计器创建报表利

22、用报表设计器创建报表2022-12-17报表设计与设计工具27(3)图形控件图形控件 在报表中添加线条、矩形框等控件可以使报表更为清晰、在报表中添加线条、矩形框等控件可以使报表更为清晰、美观。比如我们在例题中标题与页标头之间,总结中都美观。比如我们在例题中标题与页标头之间,总结中都用线条分隔开来。用线条分隔开来。(4)图片图片OLE绑定控件绑定控件 在报表的细节中添加在报表的细节中添加0LE0LE绑定控件,如在报表中添加图片绑定控件,如在报表中添加图片、公司的标志、学校的校微、随着显示记录的不同显示、公司的标志、学校的校微、随着显示记录的不同显示每个学生的照片等。每个学生的照片等。3 利用报表

23、设计器创建报表利用报表设计器创建报表2022-12-17报表设计与设计工具285数据分组数据分组 前面以博导基本情况表为基表,使用报表向导创建了按系名分组的报表前面以博导基本情况表为基表,使用报表向导创建了按系名分组的报表。使用。使用“报表设计器报表设计器”也可以根据一定的条件对记录进行分组输出,也可以根据一定的条件对记录进行分组输出,使具有相同条件的记录在一个组中。如果对报表中的记录进行分组的使具有相同条件的记录在一个组中。如果对报表中的记录进行分组的话,在话,在“报表设计器报表设计器”窗口还将出现组标头、组注脚两个带区。窗口还将出现组标头、组注脚两个带区。u组表头带区:放置分组的标题字段,

24、每组打印一次。组表头带区:放置分组的标题字段,每组打印一次。u组脚注带区:放置分组的小计,每组打印一次。组脚注带区:放置分组的小计,每组打印一次。6设置页面设置页面 单击系统菜单单击系统菜单“文件文件”中的中的“页面设置页面设置”命令选项,屏幕显示命令选项,屏幕显示“页面设页面设置置”对话框。包括设置页面的列数(栏),每列的宽度,打印记录的对话框。包括设置页面的列数(栏),每列的宽度,打印记录的顺序顺序(指列数大于指列数大于1时时),打印设置中的打印机驱动程序,纸张大小及方,打印设置中的打印机驱动程序,纸张大小及方向等。向等。3 利用报表设计器创建报表利用报表设计器创建报表2022-12-17

25、报表设计与设计工具297调整带区大小调整带区大小 “报表设计器报表设计器”中,带区用来放置报表所需的各个控件。有时需要根据中,带区用来放置报表所需的各个控件。有时需要根据控件的多少、字体的大小及报表中各部分内容之间的间距来调整带区控件的多少、字体的大小及报表中各部分内容之间的间距来调整带区的大小。调整时,只要将鼠标指针指向要调整带区的分厢条,这时鼠的大小。调整时,只要将鼠标指针指向要调整带区的分厢条,这时鼠标指针变成上下双箭头,按下鼠标左链并上下拖动鼠标,带区的大小标指针变成上下双箭头,按下鼠标左链并上下拖动鼠标,带区的大小随之调整。也可以双击带区分隔条,设置带区的精确高度。随之调整。也可以双

26、击带区分隔条,设置带区的精确高度。8设置页表头和页注脚设置页表头和页注脚 方法基本同方法基本同“域控件域控件”的添加,只不过在的添加,只不过在“表达式生成器表达式生成器”对话框中不对话框中不是从是从“字段字段”列表框中选择,而是从列表框中选择,而是从“变量变量”列表框中选择列表框中选择“_pageno”。在此报表中,数据之间没有分隔线,若要求要有网格线,也可以用同上在此报表中,数据之间没有分隔线,若要求要有网格线,也可以用同上的基本方法,在的基本方法,在“页标头页标头”中的字段名上加上方框线,在中的字段名上加上方框线,在“细节细节”中中的域控件上加分隔线。的域控件上加分隔线。3 利用报表设计器

27、创建报表利用报表设计器创建报表2022-12-17报表设计与设计工具303 利用报表设计器创建报表利用报表设计器创建报表2022-12-17报表设计与设计工具311选择、移动、添加、删除、修改控件选择、移动、添加、删除、修改控件2设置字体和字号设置字体和字号3设置颜色设置颜色4布局排列布局排列3 利用报表设计器创建报表利用报表设计器创建报表2022-12-17报表设计与设计工具329.2 VFP报表的设计与应用报表的设计与应用n报表的预览与打印报表的预览与打印预览命令:预览命令:Report Form Preview 打印命令:打印命令:Report Form n标签(特殊的报表)类型标签(特

28、殊的报表)类型VFP提供了提供了86种标准类型的标签种标准类型的标签。n标签向导标签向导n标签设计器标签设计器标签的设计、运行等操作与报表相似。标签的设计、运行等操作与报表相似。2022-12-17报表设计与设计工具33VFP报表设计的几个实例报表设计的几个实例n1 报名信息报表报名信息报表n2 考卷份数统计报表考卷份数统计报表n3 考试成绩分项统计报表考试成绩分项统计报表n4 准考证标签准考证标签n5 录取通知单录取通知单2022-12-17报表设计与设计工具349.3 水晶报表的设计与应用水晶报表的设计与应用n9.3.1 水晶报表概述水晶报表概述n9.3.2 水晶报表的设计水晶报表的设计n

29、9.3.3 在在C#中使用水晶报表中使用水晶报表2022-12-17报表设计与设计工具359.3.1 水晶报表概述水晶报表概述n水晶报表(水晶报表(Crystal Report)提供了各种非常方便的报表处理及输出)提供了各种非常方便的报表处理及输出功能,目前已经发展到第功能,目前已经发展到第11版。在版。在VS2005中集成了水晶报表处理模中集成了水晶报表处理模块,称之为块,称之为Crystal Reports for Visual Studio 2005,使用的程序集,使用的程序集版本为版本为10.2.3600。n水晶报表提供了非常方便的报表输出功能,它具有以下主要优点:水晶报表提供了非常方

30、便的报表输出功能,它具有以下主要优点:快速的报表开发;快速的报表开发;能够导出复杂的交互性图表;能够导出复杂的交互性图表;支持大多数开发语言(典型的如支持大多数开发语言(典型的如C#、VB.NET等等);等等);可以与其他控件一起在可以与其他控件一起在Windows窗体或网站页面中使用;窗体或网站页面中使用;能够直接进行报表预览及打印输出,也可以动态地将报表导出成能够直接进行报表预览及打印输出,也可以动态地将报表导出成为为.doc、.pdf、.xls等多种格式的文件。等多种格式的文件。2022-12-17报表设计与设计工具361 水晶报表的分类水晶报表的分类n从外观上看:从外观上看:标准报表:

31、即一般报表,选择数据标准报表:即一般报表,选择数据源,链接数据库表,添加字段,选源,链接数据库表,添加字段,选择分组、摘要(总计)和排序字段,择分组、摘要(总计)和排序字段,创建图表并选择记录;创建图表并选择记录;交叉表报表:即以交叉表的形式显交叉表报表:即以交叉表的形式显示报表中的数据;示报表中的数据;邮件标签报表:即可打印在任意尺邮件标签报表:即可打印在任意尺寸的邮件标签上的格式化报表。寸的邮件标签上的格式化报表。2022-12-17报表设计与设计工具371 水晶报表的分类水晶报表的分类n从分发(发布)形式上来看:从分发(发布)形式上来看:嵌入式报表:指具有与嵌入式报表:指具有与.rpt文

32、件对应的文件对应的包装类包装类的报表。将报表嵌的报表。将报表嵌入到项目中后,系统会自动为该报表生成一个同名的包装类。该入到项目中后,系统会自动为该报表生成一个同名的包装类。该报表包装类从基类报表包装类从基类ReportDocument继承,可以使用基类的所有继承,可以使用基类的所有公共属性和方法。经过包装类包装之后,项目中的所有代码均直公共属性和方法。经过包装类包装之后,项目中的所有代码均直接与包装类进行交互,而不是与原始报表文件本身进行交互。接与包装类进行交互,而不是与原始报表文件本身进行交互。非嵌入式报表:指单独以非嵌入式报表:指单独以.rpt文件形式存在的报表,即该报表不文件形式存在的报

33、表,即该报表不包含在项目内,也没有对应的报表包装类。对包含在项目内,也没有对应的报表包装类。对ASP.NET网站,只网站,只能使用非嵌入式报表,要求该能使用非嵌入式报表,要求该.rpt文件保存在网站根目录下(可文件保存在网站根目录下(可通过通过Server.MapPath访问该目录)。访问该目录)。2022-12-17报表设计与设计工具381 水晶报表的分类水晶报表的分类n嵌入式报表:嵌入式报表:在在Windows应用程序项目中,创建的水晶报表默认应用程序项目中,创建的水晶报表默认为嵌入式报表;为嵌入式报表;项目编译后,报表和其包装类都会被自动嵌入到程序项目编译后,报表和其包装类都会被自动嵌入

34、到程序集中,用户看不到被包装后的集中,用户看不到被包装后的.rpt文件;文件;无法被修改,灵活性较差。如果修改了报表内容,必无法被修改,灵活性较差。如果修改了报表内容,必须重新编译整个项目。须重新编译整个项目。2022-12-17报表设计与设计工具391 水晶报表的分类水晶报表的分类n非嵌入式报表:非嵌入式报表:Windows应用程序中的非嵌入式报表,必须将应用程序中的非嵌入式报表,必须将.rpt文件保存在文件保存在和和.exe文件相同的目录下(可通过文件相同的目录下(可通过Application.StartPath访问);访问);.rpt文件的文件的“生成操作生成操作”属性默认为属性默认为“

35、嵌入的资源嵌入的资源”,即嵌入式报,即嵌入式报表;可将其改为表;可将其改为“无无”,则报表即成为非嵌入式报表,此时需要将,则报表即成为非嵌入式报表,此时需要将“复制到输出目录复制到输出目录”属性改为属性改为“始终复制始终复制”,以便可在程序中访问,以便可在程序中访问该文件;该文件;使用使用ReportDocument对象的对象的Load方法将非嵌入式报表加载到方法将非嵌入式报表加载到ReportDocument对象模型中,然后将对象模型中,然后将CrystalReportViewer对象对象的的ReportSource属性设置为属性设置为ReportDocument对象;对象;在在ASP.NE

36、T网站中,报表网站中,报表.rpt文件必须保存在网站文件夹中,而且文件必须保存在网站文件夹中,而且只能通过文件目录路径引用。只能通过文件目录路径引用。2022-12-17报表设计与设计工具402 嵌入式水晶报表设计器嵌入式水晶报表设计器n在在VS2005中提供了专门的水晶报表设计环境,称为嵌入式水晶报表中提供了专门的水晶报表设计环境,称为嵌入式水晶报表设计器(设计器(Crystal Reports for Visual Studio 2005)。)。n不论是不论是Windows应用程序还是应用程序还是ASP.NET网站,均可在嵌入式水晶报网站,均可在嵌入式水晶报表设计器内创建和修改水晶报表(表

37、设计器内创建和修改水晶报表(.rpt文件)。文件)。n在嵌入式水晶报表设计器内:在嵌入式水晶报表设计器内:可以直接通过拖放方式将一个报表对象(如数据库字段或文本对象、公可以直接通过拖放方式将一个报表对象(如数据库字段或文本对象、公式字段、参数字段和运行总计字段等)拖动到设计器的相关节上,然后式字段、参数字段和运行总计字段等)拖动到设计器的相关节上,然后使用使用“属性属性”窗口或快捷菜单格式化该对象;窗口或快捷菜单格式化该对象;可以定义报表的数据源,选择要使用的数据记录并对其进行分组,设置可以定义报表的数据源,选择要使用的数据记录并对其进行分组,设置报表对象的格式及布局。报表对象的格式及布局。n

38、嵌入式水晶报表设计器为报表的设计提供了非常高效的环境。在设计嵌入式水晶报表设计器为报表的设计提供了非常高效的环境。在设计时,不需要与实际的数据源连接,可使用框架在选项卡上标识字段。时,不需要与实际的数据源连接,可使用框架在选项卡上标识字段。2022-12-17报表设计与设计工具412 嵌入式水晶报表设计器嵌入式水晶报表设计器2022-12-17报表设计与设计工具422 嵌入式水晶报表设计器嵌入式水晶报表设计器n(1)Crystal Reports菜单菜单包含了与报表相关的绝大部分操作。包含了与报表相关的绝大部分操作。n(2)字段资源管理器字段资源管理器包含了在报表中可以使用的所有字段。字段是报

39、表中的基本数据包含了在报表中可以使用的所有字段。字段是报表中的基本数据单位,揭示了数据来源。单位,揭示了数据来源。n(3)属性视图属性视图给出了报表中字段或文本对象的相关属性给出了报表中字段或文本对象的相关属性n(4)工具箱工具箱提供了提供了3种控件:文本对象、线条对象和框对象,字段对象则通种控件:文本对象、线条对象和框对象,字段对象则通过字段资源管理器进行添加。过字段资源管理器进行添加。2022-12-17报表设计与设计工具432 嵌入式水晶报表设计器嵌入式水晶报表设计器n(5)节节报表由各个不同的报表节构成,不同节中的内容在报表中出现的频率各不报表由各个不同的报表节构成,不同节中的内容在报

40、表中出现的频率各不相同:相同:1)报表页眉和报表页脚报表页眉和报表页脚n报表页眉报表页眉/页脚节用于显示报表级的内容,其中的对象只在报表开头页脚节用于显示报表级的内容,其中的对象只在报表开头/结尾输出结尾输出一次,一般在该节中放置标题或希望只在报表开始一次,一般在该节中放置标题或希望只在报表开始/结束位置出现一次的信息,结束位置出现一次的信息,如作者、日期等。如作者、日期等。2)页眉和页脚页眉和页脚n一个报表可能包含多页,每页都有一个页眉一个报表可能包含多页,每页都有一个页眉/页脚。页眉页脚。页眉/页脚节用于显示页面页脚节用于显示页面级的内容,其中的对象在每页的顶部级的内容,其中的对象在每页的

41、顶部/底部位置都会输出一次,如章节名称、字底部位置都会输出一次,如章节名称、字段名称、页码等。段名称、页码等。3)组页眉和组页脚组页眉和组页脚n只有在对报表分组的情况下才显示。组页眉和组页脚中的对象分别显示在每个只有在对报表分组的情况下才显示。组页眉和组页脚中的对象分别显示在每个新组的开始和结束位置,通常用于显示分组依据和组内的公共信息。新组的开始和结束位置,通常用于显示分组依据和组内的公共信息。4)详细资料详细资料n其中的对象随每条记录重复输出显示,包含了报表的正文数据。其中的对象随每条记录重复输出显示,包含了报表的正文数据。2022-12-17报表设计与设计工具442 嵌入式水晶报表设计器

42、嵌入式水晶报表设计器n(6)页面设置页面设置右击右击Crystal Reports设计器,在弹出的快捷菜单中选择设计器,在弹出的快捷菜单中选择“设计设计”-“页面设置页面设置”,会弹出页面设置对话框,可用于设置页面大小。,会弹出页面设置对话框,可用于设置页面大小。n(7)打印机设置打印机设置右击右击Crystal Reports设计器,在弹出的快捷菜单中选择设计器,在弹出的快捷菜单中选择“设计设计”-“打印机设置打印机设置”,会弹出打印设置对话框,可用于设置报表版式,会弹出打印设置对话框,可用于设置报表版式和打印方向。和打印方向。2022-12-17报表设计与设计工具453 水晶报表的数据源水

43、晶报表的数据源n在在VS2005中,可以将水晶报表直接连接到数据库,也可以使用中,可以将水晶报表直接连接到数据库,也可以使用ADO.NET数据集作为报表的数据源:数据集作为报表的数据源:1、直接连接到数据库:其优点是设计时直观简洁,报表控制功能强大,、直接连接到数据库:其优点是设计时直观简洁,报表控制功能强大,能预览实际数据输出的效果。对于简单的报表,使用这种方式即可;要能预览实际数据输出的效果。对于简单的报表,使用这种方式即可;要完成复杂的报表,还需要使用水晶报表提供的函数,重新学习一套与完成复杂的报表,还需要使用水晶报表提供的函数,重新学习一套与C#类库提供的格式完全不同的函数并不是开发者

44、所希望的。类库提供的格式完全不同的函数并不是开发者所希望的。2、以、以ADO.NET数据集作为报表数据源:既可以从多种数据源(包括数据集作为报表数据源:既可以从多种数据源(包括Access、Oracle和和SQL Server数据库)创建数据库)创建ADO.NET数据集,使得报数据集,使得报表可以显示不同数据源的数据;也可以使用表可以显示不同数据源的数据;也可以使用C#语法控制语法控制ADO.NET数据源,数据源,灵活、方便地控制报表的输出。但是,在设计时不能预览实际的数据输灵活、方便地控制报表的输出。但是,在设计时不能预览实际的数据输出。出。n在应用程序中设计水晶报表时,一般情况下,应该尽量

45、使用在应用程序中设计水晶报表时,一般情况下,应该尽量使用ADO.NET数据集作为报表的数据源,以避免报表受所连接的数据库文件位置的数据集作为报表的数据源,以避免报表受所连接的数据库文件位置的限制。限制。2022-12-17报表设计与设计工具464 水晶报表对象模型水晶报表对象模型n对象模型是指构成编程模型的核心类及其周围类,例如对象模型是指构成编程模型的核心类及其周围类,例如ADO.NET就就是用于数据访问的对象模型。是用于数据访问的对象模型。n在水晶报表设计中,在水晶报表设计中,VS.NET也提供了一系列用于报表编程的类,可也提供了一系列用于报表编程的类,可通过代码编程方式与报表进行交互。通

46、过代码编程方式与报表进行交互。nCrystal Reports SDK包含四个对象,常用的有:包含四个对象,常用的有:n1.CrystalReportViewer报表显示器,包含了显示报表和与报表文件交互的属性和方法。报表显示器,包含了显示报表和与报表文件交互的属性和方法。在在VS2005中,首先将报表封装到中,首先将报表封装到ReportDocument对象中,然后对象中,然后CrystalReportViewer通过该对象与报表进行交互。通过该对象与报表进行交互。一般将一般将CrystalReportViewer控件仅用于控制报表显示的形式。控件仅用于控制报表显示的形式。常用属性:常用属性

47、:nReportSource:需要显示的报表源。:需要显示的报表源。2022-12-17报表设计与设计工具474 水晶报表对象模型水晶报表对象模型n2.ReportDocumentReportDocument提供了在代码中处理报表的各种能力,应该使用这提供了在代码中处理报表的各种能力,应该使用这种对象和报表进行交互。种对象和报表进行交互。ReportDocument的实例由的实例由.rpt报表文件及其自动生成的类组成。报表文件及其自动生成的类组成。例如在例如在VS2005中创建了一个名为中创建了一个名为“StudentReport.rpt”的水晶报表,的水晶报表,完成报表设计后,选择主菜单中的

48、【生成】完成报表设计后,选择主菜单中的【生成】-【生成解决方案】,系【生成解决方案】,系统会自动创建一个对应的强类型的统会自动创建一个对应的强类型的ReportDocument类,在工具箱中类,在工具箱中即可以看到自动生成的名为即可以看到自动生成的名为“StudentReport”的组件,将该组件拖放的组件,将该组件拖放到设计窗体后,即得到实例到设计窗体后,即得到实例“studentReport1”,以后就可以在代码,以后就可以在代码中使用该实例的属性完成对报表结构及报表内部数据的各种控制。中使用该实例的属性完成对报表结构及报表内部数据的各种控制。2022-12-17报表设计与设计工具484

49、水晶报表对象模型水晶报表对象模型n常用属性:常用属性:1)ReportDefinition属性:获取属性:获取ReportDefinition对象,对应报表设计器中的布局。对象,对应报表设计器中的布局。2)DataDefinition属性:获取属性:获取DataDefinition对象,对应于报表设计器中的字段资源对象,对应于报表设计器中的字段资源管理器。管理器。3)SummaryInfo属性:获取属性:获取SummaryInfo对象,可以通过该对象设置报表主题等。对象,可以通过该对象设置报表主题等。例如:例如:studentReport1.SummaryInfo.ReportTitle=“学

50、生情况表学生情况表”;,意为设置报,意为设置报表标题为表标题为“学生情况表学生情况表”。4)RecordSelectionFormula属性:获取或设置记录选定公式,用于筛选指定的记录。属性:获取或设置记录选定公式,用于筛选指定的记录。例如:例如:studentReport1.RecordSelectionFormula=“MyTable2.姓名姓名 like*王王*”;,意为选择意为选择MyTable2中所有姓名中包含中所有姓名中包含“王王”的记录。的记录。n注意,公式使用的是注意,公式使用的是Crystal语法:字段名语法:字段名“表名表名.字段名字段名”的形式表示,且必须用大括号括的形式

51、表示,且必须用大括号括起来;匹配任意字符用起来;匹配任意字符用“*”号表示。号表示。n需要再次强调的是:在需要再次强调的是:在VS2005中,应该用自动生成的中,应该用自动生成的ReportDocument类来类来控制与控制与.rpt报表内部的交互;而报表内部的交互;而CrystalReportViewer对象仅用于控制报表的外对象仅用于控制报表的外观显示形式。观显示形式。2022-12-17报表设计与设计工具495 基于向导创建报表基于向导创建报表nVS2005内嵌的水晶报表提供了创建报表向导,内嵌的水晶报表提供了创建报表向导,为开发人员快速创建报表提供了有力的工具。为开发人员快速创建报表提

52、供了有力的工具。n报表创建的基本步骤:报表创建的基本步骤:(1)确定数据来源;)确定数据来源;(2)设置报表的显示格式。)设置报表的显示格式。2022-12-17报表设计与设计工具505 基于向导创建报表基于向导创建报表n(1)创建创建Crystal Reports应用程序应用程序打开打开VS2005,选择,选择“文件文件”-“新建新建”-“项目项目”,弹出,弹出“新新建项目建项目”对话框,在其中选择对话框,在其中选择“Crystal Reports应用程序应用程序”。2022-12-17报表设计与设计工具515 基于向导创建报表基于向导创建报表n(2)选择使用向导选择使用向导项目创建好后,系

53、统会自动弹出项目创建好后,系统会自动弹出“Crystal Reports库库”对话框。对话框。选择选择“使用报表向导使用报表向导”,并在,并在“选择专家选择专家”中选择中选择“标准选标准选项项”,单击确定。,单击确定。2022-12-17报表设计与设计工具525 基于向导创建报表基于向导创建报表n(3)选择数据源类型选择数据源类型在在“标准报表创建向导标准报表创建向导”对话框中可以选择报表的数据源类型。对话框中可以选择报表的数据源类型。在在“可用数据源可用数据源”列表框中列出了列表框中列出了Crystal Reports所支持的数所支持的数据源类型。本例中选择据源类型。本例中选择“创建新连接创

54、建新连接”-“OLE DB(ADO)”。2022-12-17报表设计与设计工具535 基于向导创建报表基于向导创建报表n(4)连接数据源连接数据源双击双击“OLE DB(ADO)”,将弹出,将弹出“OLE DB(ADO)”对话框,其对话框,其中可以为报表建立数据源。中可以为报表建立数据源。2022-12-17报表设计与设计工具545 基于向导创建报表基于向导创建报表n(5)选择要报告的数据选择要报告的数据数据源建立好后,在数据源建立好后,在“可用数据源可用数据源”的的“OLE DB(ADO)”下即下即会出现刚建好的数据源,选择其中会出现刚建好的数据源,选择其中BMK表作为要报告的数据;表作为要

55、报告的数据;单击单击“下一步下一步”,将弹出,将弹出“字段字段”选择对话框,在选择对话框,在“可用字段可用字段”中选择要显示数据信息。中选择要显示数据信息。2022-12-17报表设计与设计工具555 基于向导创建报表基于向导创建报表n(6)分组分组在在“分组分组”对话对话框中可选择框中可选择“分分组依据组依据”。本例。本例中以中以“yxsm”(院系所码)字(院系所码)字段作为分组依据,段作为分组依据,并选择并选择“按升序按升序”排列。排列。2022-12-17报表设计与设计工具565 基于向导创建报表基于向导创建报表n(7)汇总汇总确定报表分组后可以确定报表分组后可以对分组进行统计工作,对分

56、组进行统计工作,如计数和、最大值、如计数和、最大值、平均值等。平均值等。在在“汇总汇总”对话框的对话框的“可用字段可用字段”列表框列表框中,将中,将“xm”字段移字段移至汇总字段,并在下至汇总字段,并在下方组合框中选择方组合框中选择“计计数数”,用于统计各院,用于统计各院系的报考人数。系的报考人数。2022-12-17报表设计与设计工具575 基于向导创建报表基于向导创建报表n(8)组排序组排序在在“组排序组排序”对对话框中,可选择话框中,可选择要排序的组以及要排序的组以及排序类型。本例排序类型。本例中选择中选择“将排序将排序的组的组”为为YXSM,“组排序类型组排序类型”为为“无无”。202

57、2-12-17报表设计与设计工具585 基于向导创建报表基于向导创建报表n(9)图表图表在在“图表图表”对话对话框可选择汇总分框可选择汇总分布情况的图形显布情况的图形显示方式。在本例示方式。在本例中选择中选择“饼图饼图”,其他采用默认设其他采用默认设置,即以置,即以“饼图饼图”形式显示各院系形式显示各院系的报考人数情况。的报考人数情况。2022-12-17报表设计与设计工具595 基于向导创建报表基于向导创建报表n(10)记录筛选记录筛选用于设置记录显用于设置记录显示的条件。本例示的条件。本例中选择中选择“csrq”作作为筛选字段,条为筛选字段,条件为件为“大于等大于等于于”“”“198001

58、01”,仅显示,仅显示“80”后考生。后考生。2022-12-17报表设计与设计工具605 基于向导创建报表基于向导创建报表n(11)报表样式报表样式用于设置报表显用于设置报表显示的样式。在示的样式。在“可用样式可用样式”列列表框中列出了系表框中列出了系统提供的样式,统提供的样式,选择的样式可在选择的样式可在“预览预览”框中预框中预览。本例中选择览。本例中选择“前导分隔前导分隔”作作为报表样式。为报表样式。2022-12-17报表设计与设计工具615 基于向导创建报表基于向导创建报表n至此,报表向导结束。选择至此,报表向导结束。选择“主报表主报表 预览预览”或直接运行或直接运行表单,即可查看报

59、表效果,如图所示。表单,即可查看报表效果,如图所示。2022-12-17报表设计与设计工具625 基于向导创建报表基于向导创建报表n基于向导创建的报表:基于向导创建的报表:采用了直接连接数据源的方式;采用了直接连接数据源的方式;报表样式固定。报表样式固定。n总之,不够灵活。一般可作为预设计,即在此基总之,不够灵活。一般可作为预设计,即在此基础上进一步修改。础上进一步修改。n可以借助报表设计器提供的控件工具和各类专家可以借助报表设计器提供的控件工具和各类专家设计更为复杂的报表。设计更为复杂的报表。2022-12-17报表设计与设计工具639.3 水晶报表的设计水晶报表的设计nCrystal Re

60、ports for VS2005包含了各种专家,用于帮助开发人员创包含了各种专家,用于帮助开发人员创建多种类型的报表、准备图形、设置格式、连接数据源、对数据进行建多种类型的报表、准备图形、设置格式、连接数据源、对数据进行分组,选择要显示的记录以及收集需要在发布报表时包含的文件。分组,选择要显示的记录以及收集需要在发布报表时包含的文件。n事实上,报表向导就是通过调用相关专家来完成报表设计的。事实上,报表向导就是通过调用相关专家来完成报表设计的。n专家:专家:数据库专家:设置数据源数据库专家:设置数据源节专家:设置报表中显示的节及其格式节专家:设置报表中显示的节及其格式组专家:设置分组依据组专家:

61、设置分组依据组排序专家:设置组的排序及其筛选依据(组排序专家:设置组的排序及其筛选依据(top N)突出显示专家:设置满足特定条件记录的显示格式突出显示专家:设置满足特定条件记录的显示格式图表专家:设置数据分布的图形展示图表专家:设置数据分布的图形展示选择专家:设置筛选条件选择专家:设置筛选条件2022-12-17报表设计与设计工具641 数据库专家数据库专家n用于设置报表的数据源用于设置报表的数据源n“数据库专家数据库专家”界面与界面与“向向导导”-“选择要报告的数据选择要报告的数据”界界面相同,如图面相同,如图n“数据库专家数据库专家”支持不同类型的支持不同类型的数据源,如数据源,如Acc

62、ess、SQL Server、Oracle、文本文件、文本文件、电子表格等等电子表格等等n通过通过“数据库专家数据库专家”可以将不同可以将不同来源的数据嵌入到一张报表中来源的数据嵌入到一张报表中n例如,选择例如,选择BMK表作为报表的表作为报表的数据源,该表中的所有可用字段数据源,该表中的所有可用字段将会列在将会列在“字段资源管理器字段资源管理器”中中2022-12-17报表设计与设计工具651 数据库专家数据库专家n从从“字段资源管理器字段资源管理器”的的“数据库字段数据库字段”栏中将需要的字段拖放到报栏中将需要的字段拖放到报表表“详细资料详细资料”节中;节中;n报表设计器会在报表设计器会在

63、“详细资料详细资料”节中自动创建字段对象,在节中自动创建字段对象,在“页眉页眉”节节中自动创建文本对象;中自动创建文本对象;n可以通过修改字段和文本对象的属性调整外观;可以通过修改字段和文本对象的属性调整外观;n可以通过拖动节标题改变节的高度。可以通过拖动节标题改变节的高度。2022-12-17报表设计与设计工具662 节专家节专家n报表中的一些修饰性内容,如报表标题、日期、页码等应该显示在不报表中的一些修饰性内容,如报表标题、日期、页码等应该显示在不同的节中。同的节中。报表页眉:标题,日期报表页眉:标题,日期报表页脚:页码报表页脚:页码n可通过可通过“节专家节专家”,设置,设置各节内容的显示

64、样式各节内容的显示样式及其及其显示条件显示条件2022-12-17报表设计与设计工具673 组专家组专家n用于设置报表用于设置报表“详细资料详细资料”具体内容的分组依据具体内容的分组依据n右击报表设计器,选择右击报表设计器,选择“报表报表”-“组专家组专家”n在在“可用字段可用字段”中选择分组依据,并修改其选项中选择分组依据,并修改其选项2022-12-17报表设计与设计工具683 组专家组专家n有了分组依据,可在报表中插入有了分组依据,可在报表中插入“汇总汇总”字段字段n计算汇总:选择计算汇总:选择“Crystal Reports”-“插入插入”-“汇总汇总”,在,在“插插入汇总入汇总”对话框中可以选择汇总字段、汇总方式以及汇总显示的位对话框中可以选择汇总字段、汇总方式以及汇总显示的位置。置。n隐藏细节:在隐藏细节:在“详细资料详细资料”节中右击:节中右击:隐藏(可向下钻取):隐藏细节隐藏(可向下钻取):隐藏细节抑制显示(无向下钻取):不显示细节抑制显示(无向下钻取):不显示细节2022-12-17报表设计与设计工具693 组专家组专家

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!