quinta-feira, 25 de junho de 2009

ireport passando collection para subrelatorio pelo parâmetro

Esse é o modo mais fácil de passar uma coleção (Collection) para um sub-relatório. Crie um parâmetro na sua classe e coloque a coleção que será passada para o sub-relatório:

Collection pessoas = new ArrayList();
parametro.put(“COLECAO”, pessoas);

No ireport crie um parâmetro “COLECAO” do tipo Collection e passe para o sub-relatório tipando o como JRBeanCollectionDataSource.
(REPORT_DATA_SOURCE -> new JRBeanCollectionDataSource($P{COLECAO}))
como mostra a imagem:



O sub-relatório vai iteragir na coleção pelo REPORT_DATA_SOURCE (é um parâmetro padrão do relatório) na banda DETAILS.

2 comentários:

Unknown disse...

Isso é muita mentira, o iReport nem aceita esse tipo de parametro! Nao percam seu tempo testando!

Barroso disse...

Cara esse CAST ta funcionando nos meus relatorios, no seu exemplo pode ter algo diferente.