Primeiro vc testa se o Field não é NULO, ai vc converte ele para double, (como vc cita ser seu caso), e testa:
($F{VALOR} == null || $F{VALOR}.doubleValue() == 0) ?
Boolean.FALSE :
Boolean.TRUE
Assim eu estou testando se o valor for nulo ou igual a zero, ai ele não exibe o campo, caso contrário sim.
vc esta convertendo para Boolean o valor ???
Veja meu exemplo, teste se ele é diferente de nulo, e ai faça o cast para o tipo primitivo do campo, se Double, faça campo.doubleValue(), se For Integer, faça campo.intValue(), enfim, conforme for o tipo do campo. Agora se ele for um String, teste apenas:
($F{VALOR} == null || $F{VALOR}.toString() == 0) ?
Boolean.FALSE :
Boolean.TRUE
Essa é a expressão que vc deve colocar lá, nada mais. Mas vc precisa saber que tipo esse seu campo retorna.
Que versão do iReport vc esta usando ?
L
LuisClaudio
Este meu campo que estamos tentando usar no ireport é do tipo String. a versão do ireport que estou usando é o 1.2.1. E eu coloquei o codigo exactamente como voce escreveu e esta me dando o seguinte erro :
Os valores ( embora sejam numeros) vem da datasource como strings tambem, e eu gostaria que ele não imprimisse no report todos os Strings que segem iguais a .0
Obrigado
RagGirl
Ola Luis,
se eles retornam como String, faça assim, como o último exemplo qeu repassei, acrescente no caso as “”, qeu faltaram no meu exemplo: