Passagem de parametro no iReport-3.7.2

11 respostas
andreluis

Estou usando o componente JasperMaker (http://www.guj.com.br/posts/list/201107.java), para gerar relatório, mais não estou conseguindo passa o parâmetro para o iReport-3.7.2, foi criado um parâmetro no ireport do tipo integer. ?SELECT * FROM PRODUTO PRODUTO WHERE ID=$P{CODIGO}?, no próprio ireport esta funcionando, mais quando vou passar o valor para o parâmetro não esta funcionando.
Este e o método:

public Download geraRelatorio() { Map parametros = new HashMap(); parametros.put(3,"CODIGO"); return jasperMaker.makePdf("relatorioteste.jasper", dao.listaTudo(),//utilizo o resultado do createCriteria do hibernate "relatorioteste.pdf", false,parametros);
:idea:

11 Respostas

remixlara

tenta mudar a ordem pra ve se resolve parametros.put(“CODIGO”, 3);

andreluis

Ola bom dia,obrigado pela opnião, mas desculpa, eh que eu acabei postando o código inverso, rs, o certo é assim mesmo, mas não da erro não faz nada, simplesmente não filtra

kivervinicius

tbm estou com o mesmo problema, será que alguem poderia ajudar? o parametro está criado corretamente mas não filtra, será que eu tenho q passar o collection já filtrado?

[]'s

Lavieri

O modo como fiz o jaspermaker foi separando da view, a lógica…

O local onde a consulta é realizada é dentro da lógica, e para o jasper é passado uma Collection com os valores, não fiz com SQL dentro do jasper.

Como o colega falou mais acima o parametro esta sendo passado para dentro, acredito que caso queiram usar com SQL dentro do jasper, vão ter q usar outra forma, e não o JRBeanCollectionDataSource.

se repararem o meu código http://pastebin.com/8ABRRHE7 na linha 79 eu defino o tipo como sendo um tipo CollectionDataSource

kivervinicius

Olá Lavieri, que bom vc por aki, rsr, então qual seria o melhor método para fazer relatórios com passagens de parametros? eu ainda não testei mas será que tem como fazer um método para filtrar no banco com o hibernate e retornar uma lista já filtrada? Isso funciona ou é gambiarra?

Obrigado,

[]'s

Lavieri

kivervinicius:
Olá Lavieri, que bom vc por aki, rsr, então qual seria o melhor método para fazer relatórios com passagens de parametros? eu ainda não testei mas será que tem como fazer um método para filtrar no banco com o hibernate e retornar uma lista já filtrada? Isso funciona ou é gambiarra?

Obrigado,

[]'s

não é gambiarra, e na minha opinião é o modo correto de fazer… vc filtra com o hiberante, dentro da lógica, com a collection pronta vc manda pra o jasper a collection ja filtrada, e o jasper cria o pdf…

filtrar com o hiberante é simples, mais simples q com sql na minha opinião… o que exatamente vc quer filtrar ?

kivervinicius

Então no meu caso o filtro não é o grande problema, só por um "pequeno"detalhe, que vou acabar pedindo ajuda, pq estamos fazendo um sistema de biblioteca, dai a maioria das pesquisas terá um valor que será setado no login que seria o codigo da biblioteca, com o vraptor qual seria a melhor forma de manter esse valor? pq a partir de todas as minhas pesquisas sempre terá essa biblioteca filtrada, que nem nesse relatorio estamos fazendo um relatorio de emissão de carteirinhas, então teriamos que passar o codigo do Leitor e da biblioteca, para sair somente os leitores relacionados aquela biblioteca (central, escola, interna) essas coisas. deu para entender? sei que fugiu um pouco do assunto do post mas se poder me ajudar.

Obrigado Amigo.

[]'s

Lavieri

rapaz… vc cria uma Objeto em escopo de sessão, e dentro dele vc seta o valor da biblioteca quando o cara logar…

quando vc for fazer as consultas, vc pega o objeto, retira o valor da biblioteca e cria o filtro…

kivervinicius

hmmmmm, eu sou meio juvenil ainda nessa parte, tem algum tutorial ou algo relacionado a isso que possa vir a me ajudar? obrigado

Lavieri

abre um outro post, perguntando sobre SessionScoped, pra não poluir esse aqui, que te ajudo

kivervinicius

Blza vlw

Criado 6 de junho de 2010
Ultima resposta 8 de jun. de 2010
Respostas 11
Participantes 4