Java DynamicJasper-未显示子报表
我是新来的 我正在生成一个包含子报表的报表,我可以成功运行我的原始报表而不出现任何错误,但子报表不显示 我正在使用DynamicReportBuilder(drb)构建我的主报表,我想知道我是否以错误的方式添加了子报表 下面是我如何构建子报表的Java DynamicJasper-未显示子报表,java,subreport,dynamic-jasper,Java,Subreport,Dynamic Jasper,我是新来的 我正在生成一个包含子报表的报表,我可以成功运行我的原始报表而不出现任何错误,但子报表不显示 我正在使用DynamicReportBuilder(drb)构建我的主报表,我想知道我是否以错误的方式添加了子报表 下面是我如何构建子报表的 private DynamicReport subReportTesting() throws Exception { DynamicReportBuilder drb = new DynamicReportBuilder();
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添加的。我希望子报表将显示它的标题、副标题和列标题,即使子报表的内容中没有要显示的数据,但目前它没有显示关于子报表的任何内容
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;
}
如果我有任何错误,请纠正我。
非常感谢。我向您推荐这个您好,我尝试使用addFooterSubreport将我的子报表添加到DJGroup下,这次我得到了一个错误-ar.com.fdvs.dj.core.layout.layout.ar.com.fdvs.dj.core.layout.AbstractLayoutManager.applyLayout(AbstractLayoutManager.java:150)有人知道如何解决这个问题吗?提前感谢!