我是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添加我的内容 我希望子报表将显示它的标题,副标题和列标题,即使子报表的内容中没有数据显示,但目前它没有显示子报表。
如果我犯了任何错误,请纠正我。 非常感谢你。
答案 0 :(得分:0)