Jasper Reports 中的子报表无法预览

问题描述 投票:0回答:0

注意:我尝试实现子报表,但出现错误。这是我用来编译子报表的代码:

JasperDesign sub = JRXmlLoader.load(this.getClass().getResourceAsStream("/SubReport.jrxml"));
JasperDesign main = JRXmlLoader.load(this.getClass().getResourceAsStream("/MainReport.jrxml"));
JasperReport mainReport = JasperCompileManager.compileReport(main);
Map<String,Object> parameter=new HashMap<>();
parameter.put("SubReport",sub);
JasperPrint jasperPrint = JasperFillManager.fillReport(mainReport, parameter, new JREmptyDataSource());
JasperViewer.viewReport(jasperPrint);
Caused by: net.sf.jasperreports.engine.JRRuntimeException: Unknown subreport source class net.sf.jasperreports.engine.design.JasperDesign
    at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateReport(JRFillSubreport.java:359)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:382)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:307)
    at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:456)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:354)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:290)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:152)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:963)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:892)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:114)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:668)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:984)
java jasper-reports
© www.soinside.com 2019 - 2024. All rights reserved.