Estou tentando fazer um subrelatorio com o plugin do iReport/JasperReport + JPA mas estou perdido…
[code]public void geraRelatorio3() {
try {
ProdutoService service = new ProdutoServiceImpl();
JasperReport jasperReport = JasperCompileManager.compileReport("C:\relProdutoSaldo.jrxml");
JasperReport jasperReportSub = JasperCompileManager.compileReport("C:\relProdutoSaldo_subreport2.jrxml");
Map parametros = new HashMap();
List lista = service.findAll(true);
JRBeanCollectionDataSource jr = new JRBeanCollectionDataSource(lista);
parametros.put(JRJpaQueryExecuterFactory.PARAMETER_JPA_ENTITY_MANAGER, PersistenceFactory.EM);
// parametros.put("SUBREPORT_DIR", jasperReportSub);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parametros, jr);
JasperViewer jasperViewer = new JasperViewer(jasperPrint, false);
jasperViewer.setDefaultCloseOperation(JasperViewer.DISPOSE_ON_CLOSE);
jasperViewer.setTitle("Relatório Estoque");
jasperViewer.setVisible(true);
} catch (JRException ex) {
ex.printStackTrace();
}
}[/code]
quando descomento parametros.put("SUBREPORT_DIR", jasperReportSub);
da o seguinte erro net.sf.jasperreports.engine.JRException: Incompatible net.sf.jasperreports.engine.JasperReport value assigned to parameter SUBREPORT_DIR in the null dataset.
at net.sf.jasperreports.engine.fill.JRFillDataset.setParameter(JRFillDataset.java:905)
at net.sf.jasperreports.engine.fill.JRFillDataset.setFillParameterValues(JRFillDataset.java:644)
at net.sf.jasperreports.engine.fill.JRFillDataset.setParameterValues(JRFillDataset.java:586)
at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1276)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:897)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:860)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
pelo que entendi o dataset do subrelatorio esta nulo mas como eu resolvo esse problema?