我想将JasperReports版本从4.0.1更新到当前的5.5.0。

我的报告已生成,因此我使用模板报告。我必须替换DetailBand,所以我使用getDetail()来获取我的template-detail-section的区域。提取一些信息并创建新的JRDesignBand newBand后,我将使用setDetail(newBand)。作品!

在5.5.0中,这两种方法不再可用。要获得乐队,我可以使用以下方法:

http://community.jaspersoft.com/questions/542111/jasper-reports-317-450-changes-jasperdesigngetdetail

但是如何替换setDetail(newBand) ???
我发现了这种代码的安宁:

((JRDesignSection)jasperDesign.getDetailSection()).addBand(band);


但这会增加乐队,因此我的详细信息部分中有2个乐队。但是我只需要一个新的...

谢谢!

最佳答案

您只需要在removeBand(band)上调用JRDesignSection即可删除旧乐队。在添加新乐队之前还是之后都不要紧,但这会
只留下新乐队在场。例如:

((JRDesignSection)jasperDesign.getDetailSection()).addBand(newBand);
((JRDesignSection)jasperDesign.getDetailSection()).removeBand(oldBand);

10-07 16:08