1
resposta

Passando Datasources para sub relatórios

Meu relatório principal depende de outros três sub relatórios, eu consigo gerar através da conexão com o banco de dados porém eu quero fazer passando o data source de Beans, o professor mostra como fazer isso para o relatório principal, mas não como fazer isso para os sub relatórios.

Esse é meu código, eu quero trocar a conexão por data sources.

private File makeReport() throws JRException, SQLException, FileNotFoundException {
        InputStream reportJRXML =  this.getClass().getResourceAsStream("/report/pac_report.jrxml"); 
        InputStream reportJasper =  this.getClass().getResourceAsStream("/report/pac_report.jasper");
        JasperCompileManager.compileReport(reportJRXML);
        Map<String, Object> parameters = new HashMap<>();
        JasperPrint print = JasperFillManager.fillReport(reportJasper, parameters, getConnection());
        JRPdfExporter exporter = new JRPdfExporter();
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
        exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, new FileOutputStream("pac.pdf"));
        exporter.exportReport(); 
        File file = new File("pac.pdf");
        return file;
    }
1 resposta

Oi Ramires,

JasperPrint print = JasperFillManager.fillReport(jr, params, dataSource);