`
azrael6619
  • 浏览: 574634 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ireport 的一些技巧

F# 
阅读更多

首先ireport中大小写问题:

1、parameter中如果小写,引用也小写

2、$F{},一般都大写

3、子报表中引用父报表中查询出来的值时,只需要小写即可,即在子报表的parameter中只需要小写

一、iReport 中获取系统当前时间

1、选择 TextField 类型为 java.util.Date,选择TextField的Expression Class(类型)为 java.util.Date

2、在 pattern 中选择时间格式

3、在 TextField Expression 中写 java.util.Calendar.getInstance().getTime()


二、避免为空

方法一、在属性选项中找到 blank when null 即可

方法二、$F{ABB614}?$F{ABB614}:""

 

三、设置时间格式

方法一、可以使用内嵌函数截取字符串来显示

1、利用substring来截取 (针对String类型)

$F{AAE036}?(($F{AAE036}.toString()).substring(0,4)+"年"+($F{AAE036}.toString()).substring(4,6)+"月"+($F{AAE036}.toString()).substring(6,8)+"日"):""

2、利用内置的函数来取 (针对date类型)

"日期"+($F{ABB017}?String.valueOf($F{ABB017}.getYear()+1900)+"年"+String.valueOf($F{ABB017}.getMonth()+1)+"月"+$F{ABB017}.getDate():"")+"日

方法二、设置 Exception class 为date类型,然后 pattern 中设置时间格式,可以自己写,例如××××年××月××日,但是要注意,如果为空无法用 $F{ABB614}?$F{ABB614}:"",只能使用 blank when null 这种方法


四、在ireport中使用html中的标签

例如:<br> 

1、找到属性面板中的 markup 选择为html

2、在需要的地方加入<br>


五、使某个字段中的数据在特定条件下才打印出来

    通过设置字段的 PrintWhenExpression ,我们可以限定只有在某些特定的条件下字段值才会被打印出来,在PrintWhenExpression 中需要设置Boolean 型的表达式,如:new java.lang.Boolean($F{type}.trim().equals("mod_cook"))


六、嵌套子报表

1、在面板属性中找到 Subreport ,然后拖进你要放入的地方,放开鼠标后,会有一个新建报表。新建完报表之后会有个名为SUBREPORT_DIR 的Parameter,string类型,他会有个默认路径,指的是子报表的路径。由于子报表往往有多条数据,故最好单独放在一个detail中(例如:查询出来有多条数据,那么会循环显示在detail中)。

2、如果子报表中需要传入数据,那么就先点中子报表,然后在属性栏(不是参数里)中找到“ parameters ”,新建一个,例如:

     name为abz050  , Expression 为$F{ABZ050},因为这里的值是父报表查询的出来之后的值,所以不是用Parameter,而是Field。

3、在子报表中引用值,首先在子报表中定义一个变量 Parameter ,然后引用即可。

那为什么能找到呢?

因为:你在创建子报表的时候,也会自动创建一个 Parameter ,名称默认为 SUBREPORT_DIR ,它里面有个默认路径(新传入的路径会覆盖该默认路径)。

同时,可以点中子报表查看他的属性,里面有个 Subreport Exception 的值为 $P{SUBREPORT_DIR} + "子报表名称.jasper" ,这样系统就能找到了。当然系统还会自动配置一些其他子报表属性,具体的自己新建一个看看吧。


七、自动换行

    如果不处理一下,有些字段的内容太长了就会显示不全。选中该字段,右击 -> 属性,在 Text Field Stretch with overflow 勾上。

    同时把该行所有的字段选上,右击 -> 属性,在 Common Stretch Type 选择 Relative to tallest object。


八、内嵌函数的使用

举例:($F{ABB617}).toString()).substring(0,4)+"年"          把ABB617(Date类型)先转化成String然后截取年

ireport中使用内嵌函数只要在字段上看看他有哪些方法,然后直接使用即可。


九、高度根据内容自动变高

1、选中主键,在属性中找到 Stretch With Overflow 并选中。并把他单独放在一个 Detial或者其他 里面即可。
2、还有一个属性叫
Stretch type ,默认的值是No Stretch,可以改成Relative To Band Height。

第二个步骤我个人认为可做可不做。

     当然第二个步骤的功能在做表格的时候很有用,例如:表格是2列,那么两边的数据肯定不一样,或者是左边就是静态的,那么如果不选择这个属性,你就会发现,右边的数据很多的时候会扩充,但是左边不会,这个时候,我们就可以设置该属性,并把它们放到一个单独Detial或者其他容器中,那样 左右两边 就会等高了

 


十、设置共几页,第几页

$V{PAGE_NUMBER} 表示当前是第几页 ,在text field 的 选项evaluation time选report是共几页,now表是当前页。页码可在ireport里直接设置。  “共几页 第几页”

我是写在page footer 中。

 


分享到:
评论
5 楼 Santer.Zhang 2015-05-08  
你好,我用的是ireport4.5.1,子表一直无法显示
4 楼 Ginger90 2015-01-26  
ireport实用性上没有帆软报表好用
3 楼 hancunyufornet 2014-02-27  
学习中  
2 楼 mj 2013-09-18  
1 楼 weiliang 2013-08-15  
非常感谢,帮了我大忙

相关推荐

    iReport-5.1.0.dmg iReport MAC版

    iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。本资源是MAC版本的iReport iReport-5.1.0-windows-installer MAC版

    iReport-4.5.1.zip

    iReport-4.5.1.zip 工具包,由于上传文件大小受限,先传除ireport文件夹之外的文件,ireport文件夹将作为另外一个资源上传,资源名称为iReport-4.5.1 ireport.zip 同时下载iReport-4.5.1.zip和iReport-4.5.1 ireport...

    jasperreport iReport一些相关资料

    jasperreport iReport详细中文文档 jasperreport iReport中文开发

    iReport5.6版本。加iReport下载地址

    iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。 iReport的遵循AGPL自由开源协议,在SourceForge.net开源社区发布

    ireport软件

    ireport软件纯净版下载ireport软件纯净版下载ireport软件纯净版下载ireport软件纯净版下载ireport软件纯净版下载ireport软件纯净版下载ireport软件纯净版下载ireport软件纯净版下载ireport软件纯净版下载

    ireport 中的有关计算公式

    ireport 水晶报表设计器中的有关变量简单的计算公式

    ireport 4.0.2安装版

    iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。 iReport的遵循AGPL自由开源协议,在SourceForge.net开源社区发布 [1] 。 根据iReport和Jasper Studio的维护公告,自iReport版本...

    iReport安装环境介绍

    使用iReport创建新Report的手顺。

    iReport 报表、子报表、主从报表、合计、实例解析

    iReport 报表、子报表、主从报表、合计、实例解析1. 开发使用步骤(iReport4.1)... 2 4.1. JasperReport 和iReport的介绍... 2 4.1.1. JasperReport 简介... 3 4.1.2. iReport 简介... 3 4.1.2.1. iReport几个重要...

    iReport-5.6.0.rar

    iReport5.6.0已添加中文字体依赖

    ireport子报表嵌套

    ireport子报表嵌套.doc,文档主要描述了,ireport如何通过子报表技术实现一对多行数据展示问题

    ireport源代码 iReport-3.0.0-src.zip

    iReport-3.0.0源代码 iReport-3.0.0源代码 iReport-3.0.0源代码

    ireport教程,iReport使用说明

    ireport教程和iReport使用说明,学习报表开发,免费的开源报表工具。

    iReport总结(吐血推荐)

    IReport的多栏使用,IReport中的如何使用变量进行合计,iReport使用JavaBean做数据源 ,如何取得ireport报表当前页及总页数,更多内容...

    iReport汉化包

    iReport汉化包. iReport.jar

    ireport子表详解

    ireport子表详解ireport子表详解ireport子表详解ireport子表详解ireport子表详解ireport子表详解ireport子表详解ireport子表详解ireport子表详解

    iReport-5.1.0和iReport-5.6.0

    iReport-5.1.0和iReport-5.6.0

    Ireport 的 JAR包

    ireport的全部jar包 里边包括10多个jar包 希望对大家有用处

    iReport用户手册,英文名iReport User Manual.pdf

    大家都知道,JasperReports和iReport的特点就是软件免费,文档收费。尤其是文档,定价很高,最贵的一本大概是174美元。这段时间一直在用JasperReports+iReport做项目,收集了一点这方面的资料,特贡献出来,供大家...

Global site tag (gtag.js) - Google Analytics