如何根据列数在ireport中动态设置报表的宽度

时间:2014-03-24 05:05:53

标签: jasper-reports ireport

我可以根据它包含的数据设置jrxml报告的宽度。这意味着可以根据数据缩小或扩展报告大小。

我根据输入创建了最多15列用于报告和隐藏/显示所需列。报告列获取隐藏但页面宽度保持不变,。

任何人都有所了解。提前谢谢。

2 个答案:

答案 0 :(得分:0)

我从未设置此功能,但我会尝试查看Print When Expression属性。

一个好的开始是查看文档iReport Ultimate Guide:http://community.jaspersoft.com/documentation,第60页。

答案 1 :(得分:0)

最后我得到了解决方案,..   在设计时,我们可以将15个列的jrxml页面宽度设置为最大值(比如1500)。   我们可以根据用户报告单独显示/打印所需的列(例如10)。   我们可以使用 jasperprint.setPageWidth()

在运行时设置页面宽度

我已经达到了这个目的,......

InputStream stream = ReportServlet.class.getResourceAsStream(file_location);
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(data);
jasperReport = JasperCompileManager.compileReport(stream);
jasperPrint = JasperFillManager.fillReport(jasperReport, hashMap,ds);
int noOfColumns = 10;           
jasperPrint.setPageWidth(noOfColumns * 100);