SubRelatorio JasperReport + JPA não funciona

0 respostas
furacao123
Estou tentando fazer um subrelatorio com o plugin do iReport/JasperReport + JPA mas estou perdido...
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();
        }
    }
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?

Criado 5 de outubro de 2010
Respostas 0
Participantes 1