我是 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添加的。
我希望子报表会显示它的标题、副标题和列标题,即使子报表的内容中没有要显示的数据,但目前它不显示任何有关子报表的信息。
如果我有任何错误,请纠正我。 非常感谢。
最佳答案
我向你推荐这个http://dynamicjasper.com/docs/current/xref-test/ar/com/fdvs/dj/test/MultiReportConcatenated.html
关于java - DynamicJasper - 子报表不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8089048/