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