Javafree
Página Inicial do Fórum > Frameworks, APIs e IDE's

IReport - Como configuro parâmetro multivalorado?



Criar novo tópico   Responder tópico


  1. RCavs
    Posts:2


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Olá Pessoal,

    estou tendo dificuldade para passar um parâmetro multivalorado para o ireport...
    Na minha classe java eu passo o parâmetro conforme criado no ireport.
    A questão é que quando crio o parâmetro no iReport, o parâmetro é criado como se fosse um parâmetro normal $P{parametro}, enquanto que eu modifico esse parâmetro na query do relatório para multivalorado: $P!{parâmetro}.
    No meu caso, a query é simples:
    Select * from Localizacao where dsc_quadra in ($P!{quadra}). A finalidade é pegar diversas quadras selecionadas pelo usuário. Quando testo no próprio iReport, funciona, porém quando passo o parâmetro, o relatório vem sem páginas, em branco. suponho que seja por que eu passo os valores das quadras ('1','2','3','4') para o parâmetro criado no iReport $P{quadra} que não é multivalorado, enquanto que a exclamação que torna o parâmetro multivalorado só se encontra na query do relatório, colocada por mim...
    Como faço para criar um valor multivalorado no iReport ?



  1. ebarros
    Posts:2382


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Cara vc deve passar um valor para o seu parametro como no exemplo da imagem abaixo:



    Ai sim vc define seu parametro(parametro deve ser String) na query, como multivalorado.

    entao sua query ficaria algo do tipo:



    mesma coisa na classe na sua classe java.



    Mas o interessante mesmo seria vc trabalhar com objetos, assim vc passaria uma lista de objetos(registro) ao invés de varios valores dentro de uma parametro. para isso basta vc usar um

    Para mais detalhes veja os exemplos abaixo:

    http://www.javafree.org/javabb/topic-870555-RelatorioHibernate+Annotations+JSF+iReport

    e

    http://www.javafree.org/javabb/topic-868482-Relatorio+iReport+Servlet+JSP



  1. RCavs
    Posts:2


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Muito Obrigado everton!
    Deu tudo certo por aqui!



  1. leofaria01
    Posts:2


    Comment Arrow

    Publicado em: 30/04/2015 13:01:11

    Como utilizar o Parâmetro multivalorado se deixar em branco retornar tudo??



  1. leofaria01
    Posts:2


    Comment Arrow

    Publicado em: 30/04/2015 13:01:44

    Como utilizar o Parâmetro multivalorado e se deixar em branco retornar tudo??



  1. webpower
    Posts:1


    Comment Arrow

    Publicado em: 08/05/2015 17:41:59

    leofaria01 no sql coloque:

    SELECT * FROM TESTE t
    WHERE t.ID IN (DECODE($P{teste},null,t.ID,$P{teste}))

    Nao sei se todos os bancos aceitam o comando DECODE, uso isso no oracle. Ele funciona como um IF.



  1. Relacionados