Dúvida iReport

5 respostas
D

Bom dia pessoal… Queria sebar se algum de vc´s pode me ajudar com esta questão… ?

Eu estou criando um relatório no iReport onde estou criando minha Query direto no iReport, só que queria saber se tem jeito de criar a minha Query direto do meu código java e depois passar para o iReport.

Por já agradeço;
Diogo Alló

5 Respostas

leo_mf

Claro q tem. É só vc passar os dados em HashMap para o ireport.

Vai na fé

I

Então, existem várias maneiras de fazer isso. A mais correta e menos gambiarra seria você inserir parâmetros em sua query para que dentro do programa você possa pedir ao usuário o valor dessas variáveis, como por exemplo data inicial, data final, nome, sobrenome, e outras coisas. Por exemplo:

SELECT

nm_cidade,

cd_cidade

FROM

cidade

WHERE

nm_cidade LIKE ($P!{pCIDADE})

ORDER BY

$P!{pORDEM}

Veja que pCIDADE e pORDEM são parâmetros do tipo String que você poderá definir na hora de gerar o relatório. Assim se o cliente quisesse um relatório das cidades que contenham a letra F ordenadas pelo código era só definir os parâmetros pCIDADE e pORDEM como “F” e “cd_cidade” respectivamente. Na hora de gerar o relatório, o jasper vai substituir as chamadas dos parâmetros pelos valores que foram passados pra eles.

Uma segunda forma seria você definir sua query como um único parâmetro, por exemplo:

$P!{QUERY_DO_RELATORIO}

Assim você envia a query inteira dentro desse parâmetro, mas isso é GAMBIARRA!!!

D

Ivan não entendi direito…

teria como vc me passar um exemplo?

grato;
Diogo Alló

I

Entonces meu caro, tem um exemplo ali no meu post.

Por exemplo:

SELECT

nm_cidade,

cd_cidade

FROM

cidade

WHERE

nm_cidade LIKE ($P!{pCIDADE})

ORDER BY

$P!{pORDEM}

Veja que pCIDADE e pORDEM são parâmetros do tipo String que você poderá definir na hora de gerar o relatório. Assim se o cliente quisesse um relatório das cidades que contenham a letra F ordenadas pelo código era só definir os parâmetros pCIDADE e pORDEM como “F” e “cd_cidade” respectivamente. Na hora de gerar o relatório, o jasper vai substituir as chamadas dos parâmetros pelos valores que foram passados pra eles.

Entonces, quando o jasper é executado e manda gerar o relatório, antes ele manda a query para o bando a fim de obter os dados que ele precisa para preenxer o tal do relatório e antes de mandar essa query ele tem que, óbviamente, montá-la caso ela não seja estática, ou seja, caso ela não mude. Para montá-la ele substitui os campos $P!{QUALQUER}, $P!{ALGUMACOISA} e etc. pelos valores que foram passados pra eles na chamada do jasper dentro do programa. Agora, como informar o valor desses parâmetros para o jasper eu não sei, eu sei programar java mas não faço isso, não é o meu trabalho na empresa, compreende? Meu trabalho aqui é construir os relatórios dentro do iReport, chamar eles é com o pessoal da programação. Eu só posso te ajudar no que estiver dentro do iReport :slight_smile:

Você sabe criar parâmetros no iReport e inserí-los no seu relatório?

D

Sim sei… Vou dar mais uma olhada…

Att;
Diogo Alló

Criado 4 de novembro de 2008
Ultima resposta 4 de nov. de 2008
Respostas 5
Participantes 3