我有兩張表格可以在同一頁面上打印。這些表格的數據將通過自定義數據源的地圖提供。我需要實施它。我用Google來執行這項任務。賈斯珀報告中的子報告
那時我遇到了分報告的概念,但是我沒有得到關於如何實現分報告的很多信息。
我對如何創建子報告有一個想法。但我不知道如何用customdatasource填充子報表。這是我的問題。請幫助我實現這一點。
注意:我試圖實現子報表,但出現錯誤。下面是我用於編譯子報表代碼:
JasperPrint print = new JasperPrint();
JRPdfExporter exporter = new JRPdfExporter();
JasperDesign design, design1;
JasperReport report, report1;
JasperReport jasperReport;
JasperDesign jd1;
jd1 = JRXmlLoader.load("D:\\sub_report1.jrxml");
jasperReport = JasperCompileManager.compileReport(jd1);
Map parameters = new HashMap();
parameters.put("ReportTitle", "Table Report");
parameters.put("DataFile", "TableSource.java");
parameters.put("Subreport_1", jasperReport);
design = JRXmlLoader.load("D:\\sub_report2.jrxml");
report = JasperCompileManager.compileReport(design);
parameters.put("Subreport_2", report);
design1 = JRXmlLoader.load("D:\\master_report.jrxml");
report1 = JasperCompileManager.compileReport(design1);
JasperFillManager.fillReportToFile(report1, "D:\\master_report.jrprint", parameters, new TableDataSource());
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "D:K\\Report.pdf");
exporter.exportReport();
JasperViewer.viewReport(print);
在這裏,我單獨編譯subreport1
& subreport2
並添加它們作爲地圖的參數。然後,我通過masterreports填充時發生錯誤。請幫我編寫報告。編譯器錯誤的
堆棧跟蹤:
Exception in thread "main" net.sf.jasperreports.engine.JRRuntimeException: Unkown print order 0. at net.sf.jasperreports.engine.fill.JRFillSubreport.initSubreportFiller(Unknown Source) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(Unknown Source) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(Unknown Source) at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(Unknown Source) at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(Unknown Source) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(Unknown Source) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(Unknown Source) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(Unknown Source) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(Unknown Source) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(Unknown Source) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(Unknown Source) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(Unknown Source) at net.sf.jasperreports.engine.JasperFillManager.fillReport(Unknown Source) at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(Unknown Source) at ReportTableCompiler.main(ReportTableCompiler.java:53)
支付Jasper報表的所有教程。所以你可能無法獲得免費的好資源。您可能需要在Google中查詢一些幫助。這裏的問題應該是具體的。 – 2010-06-18 06:10:55
這是不正確的。 JaspertReports是開源的,有很多免費的教程。 – Bozho 2010-06-18 06:41:14
@Purushotham:我修改了我的問題,現在你能理解了嗎 – Karthikeyan 2010-06-18 07:17:10