如何动态改变带高?

时间:2010-04-28 05:47:08

标签: jasper-reports

是否可以在jasper报告中动态修改细节带的高度?因为在我的应用程序中我需要创建pdf文档。我在主文档的详细信息带中使用了一个主文档我使用了一个子报表。子报告将java bean作为数据源。这个java bean返回一个字段列表。因此,如果我们修改了band的大小,那么有时候文档中的所有值都不会延伸。是否可以动态更改细节带。

2 个答案:

答案 0 :(得分:6)

您可以使用JRXmlLoader.load()从模板文件中创建JasperDesign对象。在结果上使用getPageHeader()之类的方法来检索您想要的带将返回值强制转换为JRDesignBand:返回的对象实现JRBand,但对于{{ 1}}它始终是JasperDesignJRDesignBand课程中有一个JRDesignBand方法。

最后,使用setHeight()从(现已修改)JasperCompileManager.compileReport()创建JasperReport

答案 1 :(得分:6)

JasperDesign jasper = JRXmlLoader.load(objeto.getRealPath("/reports/reportTaxType.jrxml"));
JRDesignBand banda = (JRDesignBand) jasper.getDetail();
banda.setHeight(2000); //YOU CAN SET THE SIZE THAT YOU WANT              
JasperReport report2 = JasperCompileManager.compileReport(jasper);
JasperPrint print = JasperFillManager.fillReport(report2, parameters, ds);