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:
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