DynamicJasper - 子报表不显示
问题描述:
我是DynamicJasper的新手。DynamicJasper - 子报表不显示
我正在构建一个包含子报表的报表,我可以无任何错误地成功运行原始报表,但子报表不显示。
我正在使用DynamicReportBuilder(drb)来构建我的主要报告,我想知道我是以错误的方式添加我的子报告。
下面是我如何建立我的报表
private DynamicReport subReportTesting() throws Exception
{
DynamicReportBuilder drb = new DynamicReportBuilder();
DynamicReport dr = drb.addColumn(subAbstractColumn1)
.addColumn(subAbstractColumn2)
.addColumn(subAbstractColumn3)
.setPrintColumnNames(true)
.setIgnorePagination(true)
.setMargins(0, 0, 0, 0)
.setTitle("Sales Report")
.setSubtitle("This report was generated at " + new Date())
.setUseFullPageWidth(true)
.build();
return dr;
}
,这里是如何添加我的主报告和报表。
public DynamicReport buildReport() throws Exception {
{
DynamicReportBuilder drb = new DynamicReportBuilder();
drb.setTitle("This is original report")
.setSubtitle("This is subtitle")
.setMargins(15, 15, 15, 15)
.setUseFullPageWidth(true);
.setDetailHeight(30);
.setAllowDetailSplit(true);
.addColumn(mainAbstractColumn1);
.addColumn(mainAbstractColumn2);
.addColumn(mainAbstractColumn3);
DynamicReport myDynamicReport = new DynamicReport();
try {
myDynamicReport = subReportTesting();
} catch (Exception e) {
e.printStackTrace();
}
SubReportBuilder srb = new SubReportBuilder();
srb.setDynamicReport(myDynamicReport, new ClassicLayoutManager());
try {
mySubReport = srb.build();
**drb.addConcatenatedReport(mySubReport);**
} catch (DJBuilderException e) {
e.printStackTrace();
}
DynamicReport myMainReport = drb.build();
return myMainReport;
}
我的内容是通过使用preparedStatement和HashMap来添加的。
我希望子报表将显示标题,副标题和列标题,即使没有数据要显示在子报表内容中,但目前它没有显示有关子报表的任何内容。
如果我犯了任何错误,请纠正我。 非常感谢。
嗨,我尝试使用addFooterSubreport添加DJGroup下我的报表,而这一次我得到了一个错误 - ar.com.fdvs.dj.core.layout.LayoutExceptionat ar.com .fdvs.dj.core.layout.AbstractLayoutManager.applyLayout(AbstractLayoutManager.java:150)ar.com.fdvs.dj.core.DynamicJasperHelper.generateJasperReport(DynamicJasperHelper.java:517) 任何人都知道如何解决这个问题?非常感谢高级! –