Galera to com essa seguinte dúvida colocar 1 relatorio puxando um datasource e o sub puxando outro datasource…
Exemplo
[code]List lista = new ArrayList();
lista.add(dadosSumario);
List<Agenda> lista2 = new ArrayList<Agenda>();
lista2.add(beanDadosRelatorio);
// O datasource
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(lista);
JRBeanCollectionDataSource ds2 = new JRBeanCollectionDataSource(lista2);
// Parametros do relatorios
String rel1 = "Caminho do relatorio1";
String rel2 = "Caminho do Subrelatorio";
Map parametros = new HashMap();
parametros.put("pathSubRel",rel2);
//caminho do subrelatorio
byte[] bytes = null;
byte[] bytes2 = null;
try {
// Aqui ele cria o relatório
bytes = JasperRunManager.runReportToPdf (rel1,parametros, ds);
bytes2 = JasperRunManager.runReportToPdf (rel2,parametros, ds2);
} catch (Exception e) {
System.out.println(e.getMessage());
}
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream;
ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();[/code]