Help Relatório Java/Ireport com filtro

3 respostas
THIAGOANALISTA

Não estou conseguindo resolver a seguinte questão, procurando por aqui tbem não encontrei, estou desenvolvendo relatórios com o Ireport, agora o que não consigo é fazer um filtro na aplicação swing.

O que eu queria fazer era popular um comboox com o nome dos meus clientes e ao selecionar este cliente, imprimir todos os seus dados pelo Ireport.

Como fazer este filtro? Esto precisando urgentemente, pois fiz um relatorio que busca tudo no banco e gostaria que fosse somente da pessoa que eu selecionasse.

Se alguém puder ajudar, espero que entendam o que estou querendo fazer.

3 Respostas

yorgan

Bom dia THIAGOANALISTA,
Para esse caso você precisa utilizar parâmetros ou enviar já um dataset com os dados filtrados.
Se você estiver executando um comando SQL para popular o seu relatório, basta criar uma variável de parâmetro e inseri-la no editor SQL do ireport.
Algo +/- assim:
1 - Crie o parâmetro idUsuario no seu relatório.
2 - Modifique seu SQL para algo como: SELECT * FROM usuario WHERE id = $P{idUsuario}*
*Não lembro bem como fica a declaração da variável e to sem ireport aqui, mas a idéia é +/- essa.
3 - Crie um HashMap e adicione a chave idUsuario com o valor do campo que estiver selecionado no combo.
4 - Passe esse hashmap como mapa de parâmetros no momento em que for gerar o relatório.

[]´s
Daniel

THIAGOANALISTA

Uma outra dúvida, a aplicação já está pronta, só falta os relatórios, usei hibernate annotation e banco Mysql, as consultas eu trago em uma table model(Jtable com alto filtro), ao clicar na linha da tabela, trago todos os dados em JTextFieds, agora gostaria de clicar na linha do Jtable e imprimir a consulta via Ireport, será que é possível, senão gostaria de saber qual é a melhor forma de gerar relatórios dinamicos,se pudesse colocar ou sitar onde encontrar um exemplo.

yorgan

Então, agora ta um pouco corrida a coisa aqui, então fica complicado para detalhar mais.
Mas final de semana eu dou uma procurada em um material e escrevo uma resposta mais completa.

[]´s
Daniel

Criado 8 de outubro de 2010
Ultima resposta 8 de out. de 2010
Respostas 3
Participantes 2