我想将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);