ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – Jasper Reports中的子报告

2019-10-07 10:02:17  阅读:273  来源: 互联网

标签:java jasper-reports report


我有两张桌子要在同一页面打印.这些表的数据将从自定义数据源的映射中提供.我需要实现它.我用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)

解决方法:

我发布了类似问题的答案.你可以在这里查看答案.

Using iReport with eclipse to generate reports approperly

标签:java,jasper-reports,report
来源: https://codeday.me/bug/20191007/1866168.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有