Ricardo Mariaca. 이 코드는 솔루션, 리카르도 및 동적 보고서
private void build() {
try {
JasperPdfExporterBuilder pdfExporterBuilder = export
.pdfExporter(PDF_FILE);
JasperReportBuilder jasperReportBuilderMain = report()
.columns(
col.column("Item", "item", type.stringType()),
col.column("Quantity", "quantity",
type.integerType()),
col.column("Unit price", "unitprice",
type.bigDecimalType()))
.setDataSource(createSubreportDataSource())
// .detail(cmp.subreport(createSubreport()))
.setWhenNoDataType(WhenNoDataType.ALL_SECTIONS_NO_DETAIL);
JasperReportBuilder jasperReportBuilderDisclaimer = report()
.setPageFormat(PageType.A4, PageOrientation.LANDSCAPE)
.summary(cmp.subreport(jasperReportBuilderMain))
.summaryWithPageHeaderAndFooter()
.setWhenNoDataType(WhenNoDataType.ALL_SECTIONS_NO_DETAIL)
.columnHeader(
cmp.text("first page header").setFixedHeight(50))
.columnFooter(
cmp.text(DISCLAIMER).setStretchWithOverflow(true)
.setFixedHeight(250))
.pageHeader(
Templates
.createTitleComponent("Ricardo Mariaca Approach"))
.pageFooter(Templates.footerComponent).show()
.toPdf(pdfExporterBuilder);
} catch (DRException e) {
e.printStackTrace();
}
}
private JRDataSource createSubreportDataSource() {
DRDataSource dataSource = new DRDataSource("item", "quantity",
"unitprice");
for (int i = 0; i < 180; i++) {
dataSource.add("Book", (int) (Math.random() * 10) + 1,
new BigDecimal(Math.random() * 100 + 1));
}
return dataSource;
}
} 당신이 뭘 하려는지 질문에 명확하지 않다
에 감사드립니다. 더 설명해 주시겠습니까? 아니면 사진을 추가하여 자신이하려는 것을 설명하려고 할 수 있습니까? –
템플릿에서로드 된 세부 리포트에 하위 리포트를 삽입하려면'dynamicReportBuilder.setTemplateFile (TEMPLATE); 및'dynamicReportBuilder.addConcatenatedReport (subreport); '를 사용하여 리포트 템플릿의 Detail 세트에있는 이전에 정의 된 요소 사라지다. 그래서 나는이 요소들을 보존 할 길을 찾고 있습니다. –