Jaspersoft iReport 5.6报表设计问题总结
今天抽空写点东西,关于Jaspersoft iReport 报表,设计时遇到的一些问题进行总结、归类,主要分为以下几个内容:
添加驱动 控件处理 dataset创建 传参问题针对的大都是报表设计中常常遇到的问题,但不是绝大多数,希望能帮到大家,下面详细说下这些问题的处理方法吧。
(一)添加驱动
报表设计后往往需要关联数据库进行测试,这里就以oracle数据库为例,说下添加oracle驱动的方法,若已存在则跳过,oracle驱动jar包我用的是oracle10g,当然如果你安装了oracle,直接从安装目录下复制一份即可,这里提供 ojdbc14.jar 包下载链接:
https://pan.baidu.com/s/118i38WJepOdNfw8GKiqGsw,密码:3kk2,下载后将jar包复制到iReport 安装或解压目录下:\iReport-5.6.0\ireport\modules\ext。
(1)打开导航栏中工具-选项,点开Classpath配置项,如下:
(2)点击Add JAR选项,将oracle驱动jar包添加到Classpath,确定,如下:
(3)验证oracle驱动是否安装成功,点击图标,如下:
New——选择Database JDBC connection,如下:
在JDBC Driver中查看是否已有Oracle驱动,如下:
至于,添加连接的数据库则自己配置一下就好了。
(二)控件处理
(1)为了保证预览或打印PDF时,报表格式内容的正确性,控件的下面的配置最好改成这样:
(2)Text Field控件显示金额数值格式时,调整该项即可,如下:
(3)Text Field控件使用三元表达式,如下:
(三)dataset创建
(1)在使用iReport设计报表时,会有一个主dataset,我们姑且叫做maindataset,如下,右击报表名,选择Edit Query,则可以编辑该报表的主体查询语句:
若添加table控件,则需要创建子dataset,叫做subdataset,由于table中要展示的内容不能从主dataset中直接获取,table表格的数据是动态生成的,通过其对应的dataset查询得到的,该如何设置呢?如下,右击报表名,选择Add Dataset添加subdataset:
然后,命名该dataset,点击下一步,选择连接的数据库(和主dataset一致),添加table表格需要的查询语句:
接着,点击下一步,会显示查询出的字段,根据table需要依次添加到右侧:
最后,点击下一步,选择排序字段,自行选择,完成subdataset的创建:
(四)传参问题
(1)在(三)中我们已经创建好了一个subdataset,那么如何向该dataset传参数呢?如下,点开subdataset,右击Parameters选项,选择添加Parameter:
在添加的table组件上右击,选择Edit table datasource,在弹出的Dataset Run窗口中,选择Parameter选项卡,点击Add,添加需要传递的参数:
好了,总结的基本上都是自己使用过的和一些比较坑的问题,防止自己再次落坑,大家如果有遇到其他的问题,并解决了,可以提出来,一起分享一下。
文章来源:
Author:海岸线的曙光
link:https://my.oschina.net/u/3747963/blog/1793208