Eu pesquisei um pouco e ainda não encontrei uma resposta clara na internet, apenas exemples passando uma collection, mas minha idéia é a seguinte:
Eu tenho um relatório principal com 3 sub relatórios… Em uma classe java eu processo três collections que serão enviadas para o relatório principal.
No relatório principal eu configuro para cada sub relatório o parametro para receber a collection especifica.
E no relatório tu clica em cada subrelatório e vai em
Connection Type -> Use a datasource expression
Data Source Expression -> new JRBeanCollectionDataSource($P{lista1, 2 ou 3})
U
ul1sses
O relatório aparece vazio…
Vou fazer mais uns testes…
U
ul1sses
Estou tentando fazer o seguinte teste:
packagejasperreports;importjava.io.IOException;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importnet.sf.jasperreports.engine.JRException;importnet.sf.jasperreports.engine.JasperExportManager;importnet.sf.jasperreports.engine.JasperFillManager;importnet.sf.jasperreports.engine.data.JRBeanCollectionDataSource;publicclassProcessaRelatorio{publicstaticvoidmain(String[]args)throwsIOException{List<Usuario>lUsuario=newArrayList<Usuario>();Usuariou=newUsuario();u.setNome("João");u.setSenha("jo123");lUsuario.add(u);u=newUsuario();u.setNome("Mário");u.setSenha("ma123");lUsuario.add(u);u=newUsuario();u.setNome("Pedro");u.setSenha("pe123");lUsuario.add(u);u=newUsuario();u.setNome("Joaquim");u.setSenha("jq123");lUsuario.add(u);u=newUsuario();u.setNome("Mané");u.setSenha("mn123");lUsuario.add(u);u=newUsuario();u.setNome("Derp");u.setSenha("d123");lUsuario.add(u);Stringarquivo="/home/ul1sses/workspace/Teste/src/jasperreports/teste.jasper";Stringjprint=null;Mapparametros=newHashMap();parametros.put("teste","Paramametro de teste");parametros.put("lista",lUsuario);try{jprint=JasperFillManager.fillReportToFile(arquivo,parametros);}catch(JRExceptione){e.printStackTrace();}try{JasperExportManager.exportReportToPdfFile(jprint);}catch(JRExceptione){e.printStackTrace();}}}
Baixei ontem a versão mais atual do ireports e jasper reports e então estou tentando fazer um simples teste de passagem de parametros. Nem isso estou conseguindo. O_O
Não ocorre erro na compilação mas gera PDF vazio… Medic!!!
U
ul1sses
A única alteração que fiz foi na linha 60 do código que eu postei: