Ireport制作报表相关小知识
一. 在ireport 使用subreport控件显示数据库查询的记录,每次都是查询出来多少条,它就会重复将所有记录重复打印多少次。例如:数据库有8条数据,它打印预览的时候就会显示8页。但实际上只要1页就可以显示完了。
解决办法:由于在制作主表和子表的时候,主表和子表用的是同一个sql,所以导致主表数据*子表数据=页数的现象。为了能够正常显示所以在主表的sql里面的where语句加上 and rownum=1 进行判断。
二.主表和子表的关联。
1.主表和子表要分别过设定某个唯一识别变量值(例如:YWBH),通过这个变量值传递数据。
2.主表和子表绑定。
3.子表也要设定关联参数。
三.分页问题,当数据过多时,将页面进行翻页。由于刚开始接触Ireport这个软件所以并不是很懂怎么去解决,为了能够实现分页查找了很多办法,但是都没有解决,后面通过请教大佬,才得以解决。分页的话Ireport就自带参数属性(只怪本人英语不好,哈哈哈。)。解决办法,首先你要调整好页面大小,因为Ireport会根据你页面的大小分配多少打印数据,当你调整好后,然后在点击报表名称,修改属性Ignore paginatior ,将这个属性的√去掉,就可以了。
四. Ireport 多项选择判断。例如:根据这个字段YWLXCODE判断是什么类型的清单。
($F{YWLXCODE}.equals(“01”)?“查询”:
$F{YWLXCODE}.equals(“02”)?“动态查询”:
$F{YWLXCODE}.equals(“03”)?“继续动态查询”:
$F