ireport 换行

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中显示的表格是拼凑出来(由每一个单独的单元格组成),要显示表行效果那么要求每个单元格高度是一样的,如果在显示时
一个单元格由于内容太多而换行了,而其它没换行那么其显示高度肯定不一致了,此时我们只要把该行所有单元格的属性Stretch Type="relative to band height"即可

(或者所有字段都选择Stretch Type="Relative to tallest object"
4、对于ireport以javabean做数据源,且要显示的记录中有数据类型为java.util.Date的属性。
如果直接显示该属性那么页面显示日期格式为 "09-10-11 上午 12:00" 而我们要求显示日期格式为yyyy-MM-dd
那么此时我们可以这样做:定义变量$V{variableName}其表达式为 "new java.sql.Date($F{日期属性}.getTime()).toString()",此时直接用该变量代替$F{日期属性}即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章