vs2008水晶报表入门教程:对比FineReport之报表参数

vs2008水晶报表入门教程:对比FineReport 之报表参数

水晶报表(crystal report)和FineReport都是很常用的报表工具,这里对比一下它们的报表参数设置功能。

水晶报表参数设置功能如下:

参数提示报表用户输入信息。将参数看作是在报表生成之前用户需要回答的问题。用户输入的信息或用户响应的方式决定报表的内容。例如,在销售人员使用的报表中,或许有要求用户选择地区的参数。该报表将返回特定地区的结果,而不是返回所有地区的结果。

通过在公式、选定公式和报表中使用参数字段,可创建单个报表,并可随时根据需要对其进行修改。参数字段也可用于子报表。、

创建参数字段

1.进行检查以确保报表已在“设计”选项卡中打开。

该过程使用Crystal Reports软件中包含的示例报表Group.rpt。

2.在“视图”菜单上单击“字段资源管理器”。

提示:执行此任务的另一种方法是单击“标准”工具栏上的“字段资源管理器”按钮。

3.

出现“字段资源管理器”对话框。

4.选择“参数字段”并单击“新建”。

出现“创建参数字段”对话框。

5.在“名称”字段中输入参数的名称(最多255个字母数字字符)。

本例使用“国家和地区”。

6.在“提示文本”字段中输入想要的提示文本(最多255个字母数字字符)。

这是在刷新报表后,出现在“输入参数值”对话框中的文本。本示例使用“选择一个国家/地区”。

7.从列表中选择适当的“值类型”。

本示例使用“字符串”。

使用参数字段时,需要注意下列事项:

参数字段支持下列数据类型:

布尔值:要求回答是/否或true/false。

示例:在摘要中包括计划预算数吗?

货币:要求一个美元金额。

示例:显示购买金额超过XXXXX的客户。

日期:要求采用日期格式回答。

示例:输入季度的开始和结束日期。

日期时间:要求日期和时间。

示例:显示07/04/19991:00pm-2:00pm之间的统计。

数字:要求一个数值。

示例:输入客户标识号。

字符串:要求回答文本。

参数字段提示文本可长达四行,每行大约60-70个字符(取决于字符宽度,最多可以有254个字符)。文本长度超过一行将自动换行。

可以为用户创建选择参数值的选取列表,而不是让用户手动输入参数值。

参数字段不必放入报表中即可在记录或组选定公式中使用。创建参数字段,然后像插入其他字段那样将其输入到公式中。

本示例将字符串转换为大写。如果将可选布尔型参数设置为“真”,返回的字符串中每个单词的首字母将转换为大写。如果该布尔型参数为“假”或省略该参数,返回的字符串中所有字母都将转换为大写。

将字符串转换为大写-Basic语法

Function Capitalize(str as String,_Optional firstLettersOnly as Boolean=False)as StringIf firstLettersOnly then Capitalize= ProperCase(str)_Else Capitalize=UCase(str)End Function

将字符串转换为大写-Crystal语法

Function(StringVar str,Optional BooleanVar firstLettersOnly:=False)if firstLettersOnly then

ProperCase(str)else UpperCase(str)

Capitalize函数的返回值

Capitalize("crystal reports")将返回字符串“CRYSTAL REPORTS”

Capitalize("crystal reports",True)将返回字符串“Crystal Reports”

Capitalize("crystal reports",False)将返回字符串“CRYSTAL REPORTS”

Finereport参数设置功能功能如下:

1.描述

FineReport报表中的参数按照其使用范围可以分为:模板参数和全局参数;按照其使用方式不同可以分为:模板参数和数据集参数。下面详细介绍。

2.按照使用范围划分

2.1模板参数

模板参数是指在当前模板下创建的参数,在模板>模板参数中定义,只在当前报表中可以使用,且必须与过滤结合才能筛选数据,详情请查看模板参数

2.2全局参数

全局参数是指在当前工程下创建的参数,在服务器>全局参数中定义,定义方法与模板参数相同,在工程下的所有报表中都可以使用,必须与过滤结合筛选数据;

注:定义的全局参数都保存在WEB-INF\resources\config.xml 文件中,若全局参数与报表参数相同,则采用报表参数。

另:按照使用范围划分的参数都必须与过滤条件结合使用。

2.3区别

模板参数和全局参数的使用方式一致,但是两者的作用域不同。全局参数:当前工程应用下的所有模板都可以使用。

模板参数:只有当前模板才可以使用。

3.按照使用方式划分

3.1模板参数

与按照使用范围划分中的模板参数一样,讲述的是同一种参数。

3.2数据集参数

数据集参数就是指在为模板添加数据集的时候添加的参数,一般是指在SQL查询语句中使用动态的参数对数据进行过滤。数据集参数根据使用范围不同分为模板数据集参数和服务器数据集参数。

模板数据集参数

是指在当前模板的模板数据集中添加的参数,在模板数据集>数据库查询中定义,只在当前报表中可以使用,详情请查看数据集参数

服务器数据集参数

是指在服务器上数据集中添加的参数,在服务器数据集>数据库查询中定义,定义方法与数据集参数相同,在工程下的所有报表中都可以使用;

注:定义的服务器数据集参数都保存在WEB-INF\resources\datasource.xml中,若服务器数据集参数与报表数据集参数相同,则采用报表数据集参数。

3.3区别

模板参数和模板数据集参数的作用域相同,但是使用方式不同,模板参数和服务器数据集参数的作用域不同,使用方式也不同。

模板数据集参数:是直接对返回的数据集起作用,所以用这种参数定义方法,你所得到的数据集是已经满足条件后的数据,因此无需设置过滤条件,只对当前模板起作用。

服务器数据集参数:与模板数据集参数类似,唯一不同的额是其对整个工程下的所有模板起作用,均可直接调用。

模板参数:对取出来的数据集,是没有影响的,即所有需要的数据全部都取出来,然后调用参数来对格子中的数据进行过滤,从而使自己所需要的数据得以呈现,只对当前模板起作用。

结论:数据集参数就是直接取出满足条件的数据,而报表参数是取出全部数据后通过设置过滤条件再获取对应参数的数据,因此若数据量大的情况下使用数据集参数可以提高报表的访问效率。

4.公用说明

全局参数和服务器数据集参数都是所有模板共用的,这个共用表示:不管有多少个模板,参数只需要定义一次,但是使用时各个模板间是独立的。不是说在bs端给一张模板的全局参数赋值之后,其他模板都可以使用这个值。

1.描述

FineReport为了让用户快速的实现参数查询数据功能,提供了专门的参数界面,用来放置与查询相关的控件,如下图:

2.示例

根据下图我们制作一个简单的查询界面,从而了解参数查询界面的具体制作方法。

2.1打开报表

打开报表:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primar y\Parameter\Parameter.cpt,这张模板是模板参数章节的示例模板,该模板中添加了参数界面,以此模板为例来讲述参数界面的一些使用方法。

2.2参数布局

按照下图所示,将控件拖至相应的位置,如下:

另:参数界面采用绝对布局方式,因此可以将控件拖至面板中的任何位置。

2.3参数控件编辑风格

默认的参数控件都是文本框,有时如希望使用日期控件来选择日期,或者下拉框直接选择数据,这就需要为参数控件定义编辑风格了。如将地区控件设为下拉框。选中地区控件,选择控件中的扳手,在下面的对话框中选择控件类型为下拉框:

注:如果已经选择控件类型之后,又需要重新修改,那么需要删除原来的控件,再在控件列表中拖拽您需要的控件类型至参数面板中,然后修改控件名与参数名称一致即可。

然后在属性表的基本属性>数据字典中,按照下图设置下拉框的数据:

注:给控件设置数据字典,即为控件绑定待选值,一般适用于下拉框、下拉树这类可以直接选择值的控件。

另:如果控件与数据集参数绑定,数据集参数的默认值是无法传递到参数面板控件中的,控件默认值需要另外设置,详细请参照控件默认值,但是模板参数的默认值是可以传递到控件的默认值中的,无需再次设置。

2.4控件名称

参数与控件是通过控件名称进行绑定的,即控件名与参数名保持一致,如果参数控件是通过点击右下角的以下参数未生成按钮生成的,那么控件名会自动与参数就行绑定,如果是自己拖曳的,就需要在控件名属性处修改控件名,使之与参数名保持一致。

2.5保存报表并预览

保存并分页预览便可以看到效果了。

相关文档
最新文档