当前位置:文档之家› iReport 报表制作实例解析

iReport 报表制作实例解析

iReport 报表制作实例解析
iReport 报表制作实例解析

开发使用步骤(iReport 4.1.1)

◆iReport 4.1.1的安装、配置和介绍(这里不再提,直接进入报表开发)。

◆创建报表(这个项目中的报表为例)

iReport基本报表(例:预交费用和押金报表)

1.打开iReport文件—--新建---选择BlankA4-----Open this template

2.为这个报表起名,和保存位置

3.下一步,完成(新建报表完成)

4.开始设计(iReport各个部分的功能不介绍)。点击如图标志,打开report query 界面设计自己的sql语句(刚开始不要考虑sql中得参数写一条死的语句),设计好后会出现如下图,右侧的参数先不用管,点击OK按钮保存

4.回到主界面,可以在左侧Fields节点中看到sql中查询出来的所有字段

6.表单的设计。根据需求设计报表,组件面板中各种不同的控件可以根据自己的需要选择,拖动左侧的Fields中的字段放到需要的位置,如图

1.合计。在左侧Variables右击添加字段,在属性中设置其属性,Variable Class 建议使用java.math.BigDecimal(可以保留小数),Calculation中是几不同的函数,根据需要这里选择sum,在Variable Expression 中选择需要求和的字段,设计好好,把Variables中的SUM字段拖到表单中需要的位置就可以啦。

2.预览,参数的设计。点击Preview预览效果,如果没有问题,设计参数,也就是调整sql语句。

参数:在主界面的Parameters中添加需要的参数,并在属性中配置。然后保存

9.调整sql语句。重新打开iReport Query 界面,这时候你可以在右侧看到自己设计的参数,拖动参数替换sql语句中之前写死的参数即可,这样,当调用这个报表的时候,以同样的参数名称的参数传给报表即可(前台如何调用报表以及如何传参在后面写到)。点击保存后,查看预览这时候就会提示你输入参数,报表设计完成。

(注:这是一个简单的报表制作。主要显示iReport的基本制作技巧,步骤相对详细,下面的报表主要显示一些技巧,重复的步骤不再截图)

iReport中子报表SubReport(例:批量打印报表)

1.首先设计出一个子报表(在主表中需要显示的部分),同样有参数的设置,设计步骤如上。以批量打印为例,选择一栋楼层,根据主表中查出来的不同字段的值传递给子表打印该楼层中所有客户的缴费单据。子表设计如下

2.主表的设计。主要是在主表的Detail(根据情况而定)中加入SubReport控件来添加子报表。拖入时,选择好本地已经存在的report(子表.jrxml原文件)。

3.点击下一步,到看到子表的参数的时候先不考虑点击下一步,点击完成,这时候你就可以看到下图。子表已经和主表联系了起来。

4.主表与子表间的参数传递。

如:子表中定义了一个参数house2clientid。把主表中查询出来的值赋给这个参数。在主表中点击添加的SubReport控件查看属性。在parameters中添加参数house2clientid并定义指定是主表中的哪个字段。点击Value Expression右侧的编辑图标,选择值,确定。这样主表选的那个字段就作为参数传给了子表。

技巧1:如何将子表中的合计传递给主表使用

1.例:在子表中Variables 中添加一个求某个字段的合计的参数sum,属性设置如图:

2.在主表中同样添加名称一模一样的参数sum ,并且属性的配置一样

3.在主表中选中添加的SubReport控件查看属性中最后一项Return Values,编辑calculation type中有不同的函数,这里选择Nothing ,如果选中sum求和会自动计算每个子表表中合计的合计,也就是说会把传过来的合计累加之前所有子表的合计。点击确定。这样就可以把在子表中的合计放在主表中显示

技巧2:巧妙利用子报表设计表单

形如:下面的表单,可以看的出来,是有几个不同的表单组合而成,主要是各个表单的行数是不固定的,这就需要做成三个表单或者table组合起来。表单可以利用主子表的关系,例如第一个表单作为子表单放在表单二的column Header位置,而表单二Detail放表单二需要查询的内容,同样的把表单二作为子表放在表单三column Header位置,再把表单三作为子表放在主表的column Header位置这样逐级往上走,可以设计出这样的表单。参数,这个时候只要在SubReport中以主传给子表的顺序设计参数即可,如下图是表单三向表单二传的参数

(表单一)

(表单二)

(表单三)

(主表)

iReport中table类型的表单(例:押金报表)

在iReport中是有table的控件的,不过怎么正确使用,暂时没有搞清除,所以这里写的table 类型的表单主要是在不用table控件的情况下,运用iReport制作出table的样式。以押金报表为例。

1.首先根据业务需求设计出需要报表样式和布局,然后选中所有添加边框的列,右击选择Padding and Borders 设计自己需要的格式,例如Line width 选择1 选择实线。就可以啦,当然可以根据需要设计边框上下左右的线的样式。这样就设计好了类型为table的报表。

2.另外一种设计就是在属性面板中是利用控件的属性来设置。形如图一。可以严格分出table_ch、table_th、table_td、table的样式(显示不同的颜色)。选择不同的行,在属性style中修改属性值(默认属性是空)如下图二、三。不过这个属性存在一个问题,比如在上面的押金表中个利用这个是属性就不行会提示如图四的提示。是什么原因,暂时没有解决,所以,如果style属性不能使用的话,建议用第一种方式来设计表格。

图二三

图四

(注:以上就是利用iReport做报表的用法报表之间参数的传递)

相关主题
文本预览
相关文档 最新文档