您的位置:首页 > 其它

ireport中的几个小问题

2015-06-02 15:28 267 查看
ireport中的几个小问题:

1.ireport 中对于$F{propertyName},$V{variableName}如何换行

2.ireport中如果静态文本太多如何换行

3.ireport中如何解决换行导致的单元格对不齐问题

4.在ireport中如何把java.util.Date属性显示成yyyy-MM-dd形式,默认ireport的Date显示形式为"09-10-11 上午12:00"

5.ireport使用java.math.BigDecimal进行精确的数值运算

前置条件:

这里讲的换行,是ireport根据显示数据元素$F{propertyName},$V{variableName}的宽度和数据内容进行自动换行,而非自己设置的换行

解决:

1.对于$F{propertyName},$V{variableName}只需在属性表中选中Stretch With Overflow即可

2.ireport中静态标记label不支持多行显示(目前个人理解),那么当要显示很多静态文本,而列头不够大,那该怎么办?

解决办法:我们定义一个$V{variableName}变量,变量的值默认为要显示的静态文本,那么此时我们只有对$V{variableName}进行1同样设置即可

3.鉴于ireport中显示的表格是拼凑出来(由每一个单独的单元格组成),要显示表行效果那么要求每个单元格高度是一样的,如果在显示时

一个单元格由于内容太多而换行了,而其它没换行那么其显示高度肯定不一致了(具体看图ireport中$F{}换行后导致单元格对不齐问题.bmp),此时我们

只要把该行所有单元格的属性Stretch Type="relative to band height"即可

4.对于ireport以javabean做数据源,且要显示的记录中有数据类型为java.util.Date的属性。

如果直接显示该属性那么页面显示日期格式为 "09-10-11 上午 12:00" 而我们要求显示日期格式为yyyy-MM-dd

那么此时我们可以这样做:定义变量$V{variableName}其表达式为 "new java.sql.Date($F{日期属性}.getTime()).toString()",此时直接用该变量代替$F{日期属性}即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: