iReport + java bean

10 respostas
T

Olá,

Alguém sabe como faço para passar um java bean como parâmetro para um relatório e recuperá-lo dentro do mesmo?

Por exempolo:

public class Estado {
   private String sigla;
   private String nome;
   private Collection<Cidade> cidades;

   ...
}

Preciso saber como faço para passar essa uma instância dessa classe para o relatório e utilizar os atributos dessa dentro relatório. A Collection cidades seria usada como detail.

Obrigado pela ajuda…

10 Respostas

feltraco

aki tem exatamente o que vc quer …

http://blog.apollo-ti.com/?p=8

FLwS… qq coisa soh chamar…

T

feltraco:

aki tem exatamente o que vc quer …

http://blog.apollo-ti.com/?p=8

FLwS… qq coisa soh chamar…

Obrigado pela resposta.

Assim com collecction diretamente eu sei fazer. O problema é que minha collection está encapsulada dentro de um java bean. Estou tentando dinamizar a criacao dos relatórios atraves de um genrenciador, pois aqui na empresa temos muitos relaoios pesados e preciso criar uma fila para geração destes. Por incrivel que pareca a parte que mais estou encontrando dificuldades é na geracao propriamente dita. a fila eu fiz utilizando a interface ExecutorService e foi bem tranquilo.

feltraco

não estou conseguindo ver o problema…

no seu DataSource quando o Field que estiver vindo
do jasper for por exemplo (cidades)

vc retorna new JRBeanCollectionDataSource passando estado.cidade

ai esse field cidade vc seta como dataSource do sub-relatorio

T

feltraco:

não estou conseguindo ver o problema…

no seu DataSource quando o Field que estiver vindo
do jasper for por exemplo (cidades)

vc retorna new JRBeanCollectionDataSource passando estado.cidade

ai esse field cidade vc seta como dataSource do sub-relatorio

É exatamente este o ponto. Eu não queria fazer sub-relatório para este caso. Gostaria de recuperar uma collection queé atributo de um javabean passado como parametro diretamente no relatorio principal.

feltraco

se vc nao quer fazer sub-relatorios
vc vai ter que passar os dados de cidade por um Map
e a lista de cidade vc passa new JRBeanDataSource(cidades)

no relatorio vc coloca o nome dos atributos de cidade
na banda detail direto…

acredito que funcione assim…
mas eu acho melhor criar subrelatorios

FLwS

T

feltraco:

se vc nao quer fazer sub-relatorios
vc vai ter que passar os dados de cidade por um Map
e a lista de cidade vc passa new JRBeanDataSource(cidades)

no relatorio vc coloca o nome dos atributos de cidade
na banda detail direto…

acredito que funcione assim…
mas eu acho melhor criar subrelatorios

FLwS

Primeiramente muito obrigado pela atenção. Sem querer abusar da sua boa vontade, o meu problema estaria em recuperar esse bean data source dentro do relatorio… Eu devo recuparar os atributos de cidade diretamente como fields?

A

Pegando carona aqui na explicação e dando meu famigerado “pitaco”

Sim, você passaria os dados do Estado (sigla, nome e etc) como parâmetros (num HashMap) e passaria sua collectins de cidade como um jrbeandatasource.

feltraco

Que nd… GUJ eh isso…
isso…

vc tem que criar os fields conforme
o nome dos atributos,
os gets e sets tem que estar todos corretos
tipo

Jasper
Field nmCidade

Java

String nmCidade;

getNmCidade();
setNmCidade();

FlwS

Tche

Brother…

to precisando criar um relatório a partir de Beans e Collections e tal.

Fui seco no blog mas ele está desativado.

Sabe onde posso encontrar o material para isto??

Valeu

A

Segue link

http://knol.google.com/k/nasir-qureshi/jasper-reports-working-with-beans-and/3az55pmbwf6s/3

Criado 29 de fevereiro de 2008
Ultima resposta 28 de nov. de 2008
Respostas 10
Participantes 4