我使用的是JasperReportBuilder並將報告導出爲PDF。報告的全部內容由MultiPageListBuilder,HorizontalListBuilder和VerticalListBuilder生成,我不想傳遞數據源,因爲數據來自各種數據源。我想利用頁面頁腳以及頁面頁眉來添加到每個頁面上的靜態頁面頁眉和頁腳以及頁碼。如果我嘗試使用addDetail(componentBuilder)方法添加 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);
報告生成,但頁面標題不會出現在每個頁面上。
請幫忙。提前致謝。