variável no ireport

1 resposta
D

Galera,

estou desenvolvendo um relatório no ireport e esbarrei numa problema besta, mas não estou conseguindo resolve-lo.

Quero criar uma variável, do tipo String que muda de valor dado uma condição (verdadeira|falsa) aplicada sobre um campo que carrego do banco de dados.

Estou tentando o seguinte:

no campo variable expression coloco:
( $F{IdTipoCusto}.equals(“1”) ? “1” : “2” )

o $F{IdTipoCusto} é um campo que carrego do banco, a partir de uma store procedure, e é do tipo Long.

a variável é do tipo String. Não  erro, o problema é q ele  imprime falso (2), mesmo quando é igual. A unica vez q funcionou foi quando testei forçando o valor.

( true ? 1 : 2 )

( false ? 1 : 2 )

não sei se devo configurar alguma coisa no reset type. Levando em conta q já testei todas as possibilidades.

valeu …

1 Resposta

D

óh nóis aqui traveis!!!

Só para deixar documentado e para possíveis consulta. Resolvi o problema.

troquei a expressão :

(($F{IdTipoCusto}.equals(1)) ? 1 : 2 )

por :

(($F{IdTipoCusto}.longValue() == new Long(1).longValue()) ? 1 : 2 )

Eu não sei porque a primeira não funcionou. Ela é mais elegante e tem o mesmo valor da segunda. Entretanto a segunda não está errada.

Se alguém tiver algum outra solução ou curiosidade, posta ai.

Abraço

Criado 9 de julho de 2006
Ultima resposta 9 de jul. de 2006
Respostas 1
Participantes 1