Eu não tenho certeza em relação a isso mas não seria o caso passar as listas como parametros?!
M
michelorth_92
isso mesmo… eu gero um relatorio a partir de duas listas de objetos que eu passo… desse jeito aki as vezes da certo as vezes da pau
JasperPrint preencher = JasperFillManager.fillReport(pathReport, null, new JRBeanCollectionDataSource(relatoriosOs));
preencher = JasperFillManager.fillReport(pathReport, null, new JRBeanCollectionDataSource(servicos));
CharlesAlves
No caso sendo feito dessa forma são gerados dois relatorios e não um com as duas listas o que eu tava falando era passar as listas dentro de um map que depois seria passado como parametro para o relatorio.
M
michelorth_92
entao tava vendo mesmo que dava pra fazer assim, mas nunca usei hasmap, c tem algum tuturial que explique como trabalhar com ele? grato
CharlesAlves
Ele é bem simples de trabalhar é só criar uma instancia dele e os dados seram associados a uma chave, e a partir delas podem ser recuperados diretamente. Vou fazer um exemplo simples de como ficariam os parametros para serem passados para o teu relatorio;
// cria uma instancia de map onde o primeiro parametro é a chave e o// segundo o objeto que ela representa, no caso para o ireport a// chave será o nome do parametroMap<String,Object>map=newHashMap<String,Object>();// as duas listas que no seu caso vão ser criadas de outra formaList<Object>lista1=newArrayList<Object>();List<Object>lista2=newArrayList<Object>();// e para adicionalas ao map é só usar o put, passado a chave e o// objetomap.put("lista1",lista1);map.put("lista2",lista2);// e para recuperar é só utilizar o nome da chaveList<Object>novaLista=(List<Object>)map.get("lista1");
No ireport no é só ir no ireport inspector e criar parametros com os mesmos nomes que foram dados as listas e modificar o seu tipo para list
M
michelorth_92
dexa eu ver se entendi
aki eu vou fazer assim agora
JasperPrint preencher = JasperFillManager.fillReport(pathReport, null, new JRBeanCollectionDataSource(map));