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 を使用して追加されます。
サブレポートのコンテンツに表示するデータがなくても、サブレポートにはタイトル、サブタイトル、および列ヘッダーが表示されると思いますが、現在、サブレポートについては何も表示されていません。
間違いがあれば訂正してください。どうもありがとう。