ireport

来源:互联网 发布:spss数据预测模型 编辑:程序博客网 时间:2024/04/27 17:54

1.格式化时间:(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm")).format($F{Date})

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

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

3.文本自动换行

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

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

4.设置共几页,第几页

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

5.报表中Detail循环部分内容的显示格式

可分列循环 print order 

6.detail中根据内容自动调整行高的办法

假如detail band中设计时只有一行,那么选中所有元素,在属性中的Stretch Type中选中relative to band height,Position type中选中Fix relative to top ;勾选 Stretch with overflow即可。

但是,如果detail band中设计时不止一行,有两行以上,按照以上的设计无论Stretch type /Position type选中什么值,同时勾选Stretch with overflow.运行出来都是不行的,有些行无法看到,要吗就是行与行之间的内容有覆盖的现象。

这时,一定要运用上element group(注意不是Report group)。假定设计时有两行吧,把这两行分别归为一个element group,在IReport中按住shift键,选中第一行,右键单击选择“group selected elements”,在属性Stretch Type中选中relative to tallest object,Position type中选中Float ;勾选 Stretch with overflow即可。第二行也做类似操作。


7.文字框中Font选项卡字体选择是成套的才能正确显示:

 Font Name:选 宋体

PDF Font Name:选 STSong-Light

最后 PDF Encoding:选 UniGB-UCS2-H (Chinese Simplified)

8.报表区域结构说明:

title 报表头[只在第一页的最上面显示]

pageHeader 页头[每一页都会显示]

columnHearder [和columnFooter作用差不多,columnHearder在detail之前显示]

detail [需要循环显示的东西在此处写]

columnFooter [展示在循环显示的下面]具有循环的$V{PAGE_COUNT}当前记录

pageFooter 报表尾[最后一页的最下方显示]

summary [此处用于做统计,显示的话用处不大]