Jasper reports 如何动态更改波段高度?

Jasper reports 如何动态更改波段高度?,jasper-reports,Jasper Reports,是否可以在jasper报告中动态修改细节栏的高度?因为在我的应用程序中,我需要创建pdf文档。我在主文档的详细信息栏中使用了一个主文档,我使用了一个子报表。子报表将以JavaBean作为数据源。这个Javabean返回一个字段列表。因此,如果我们固定了频带的大小,那么在某个时候,文档中的所有值都不会被拉伸。是否可以动态更改细节栏。您可以使用jrxmloader.load()从模板文件中创建JasperDesign对象。在结果上使用类似于getPageHeader()的方法来检索所需的频带,并将返

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

您可以使用
jrxmloader.load()
从模板文件中创建
JasperDesign
对象。在结果上使用类似于
getPageHeader()
的方法来检索所需的频带,并将返回值强制转换为
JRDesignBand
:返回的对象实现
JRBand
,但对于
JasperDesign
,它始终是
JRDesignBand
。在
JRDesignBand
类中有一个
setHeight()
方法

最后,使用
jaspermipilemanager.compileReport()
从(现已修改的)
JasperDesign
创建
jaspereport

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);