私はJasperReportBuilderを使用しており、レポートをPDFにエクスポートしています。レポートのコンテンツ全体はMultiPageListBuilder、Horizo ntalListBuilder 、VerticalListBuilderによって生成されます。データはさまざまなデータ ソースから取得されるため、データ ソースを渡したくありません。ページフッターとページヘッダーを利用して、各ページの静的ページヘッダーとフッター、およびページ番号に追加したいと考えています。addDetail(componentBuilder)メソッドを使用して *Detail& バンドにMultiPageListBuilderを追加 しようとすると (このMultiPageListBuilderには複数のページ データが含まれているため)、空白のレポートが生成されます。MultiPageListBuilderを追加するとタイトルまたはサマリーバンドでは、レポートは完全に生成されますが、ページヘッダーおよびページ フッターバンドは表示されません。
コード スニペットの例は次のとおりです。
JasperReportBuilder rpt = net.sf.dynamicreports.report.builder.DynamicReports.report();
MultiPageListBuilder multiPageList = cmp.multiPageList();
HorizontalListBuilder hrbld = cmp.horizontalList();
try {
rpt.addTitle(cmp.text("REPORT TITLE"));
rpt.addTitle(cmp.text("--------------"));
rpt.addPageHeader(cmp.pageXofY());
for (int i = 0; i < 200; i++) {
hrbld = cmp.horizontalList();
hrbld.add(cmp.text("ABC " + i)).newRow();
multiPageList.add(hrbld);
}
rpt.addDetail(multiPageList);
rpt.summaryOnANewPage();
rpt.addSummary(cmp.text("REPORT SUMMARY"));
JasperPdfExporterBuilder pdfExporter = Exporters.pdfExporter("report.pdf");
rpt.toPdf(pdfExporter);
File file = new File("report.pdf");
response.setContentType("application/pdf");
return SUCCESS;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return ERROR;
}
しかし、これは機能していません。空白のレポートを生成します。rpt.addTitle(multiPageList);
レポートの代わりに使用するとrpt.addDetail(multiPageList);
生成されますが、各ページにページ ヘッダーが表示されません。
助けてください。前もって感謝します。