报表知识库
我要提问

奇数页不打印偶数页打印

问题描述

一张大报表,页面展示时不分页,但打印时会自动分页。想要在打印分页时,奇数页不打印合计,偶数页打印合计。

 

解决方案

基本思路:只能重写raq文件,通过pagebuilderireport拆分成多个单页的ireport,由于ireport不能随便的删除添加行,先要将所有的ireport全部写回到一个新的raq里,写的过程中按照需求(或者单元格提示里加标示)删除总计一行并且这次循环写入raq结束后补上一空行(避免分页后乱行),然后打印这个raq模板。

 

进一步可参考如下:

例如某一行需要进行单数页打印双数页不打印的需求,将该行提示属性加个标示。

在展现报表的jsp中,调用一个方法另外生成一个raq文件,然后再标签中调用printedRaq属性打印新生成的raq(展现原来的)

在方法中通过PageBuilder将原来的raq计算后的ireport进行分页处理,处理成多个单页的ireport对象(每一个ireport就是一页),然后逐页的将ireport写入到一个新的raq中,并且根据奇偶页以及根据之前在行提示属性中的标示删除该行,并且在这个ireport写入结束后补一个空行,这样全部写完后这个新的raq就是需要打印报表了。

标签: