是否可以在jasper报告中动态修改细节带的高度?因为在我的应用程序中我需要创建pdf文档。我在主文档的详细信息带中使用了一个主文档我使用了一个子报表。子报告将java bean作为数据源。这个java bean返回一个字段列表。因此,如果我们修改了band的大小,那么有时候文档中的所有值都不会延伸。是否可以动态更改细节带。
答案 0 :(得分:6)
您可以使用JRXmlLoader.load()
从模板文件中创建JasperDesign
对象。在结果上使用getPageHeader()
之类的方法来检索您想要的带和将返回值强制转换为JRDesignBand
:返回的对象实现JRBand
,但对于{{ 1}}它始终是JasperDesign
。 JRDesignBand
课程中有一个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);