[RESOLVIDO] Condição no iReport

6 respostas
C

Quero imprimir 0 quando o meu valor numérico (BigDecimal) for igual a null.
O iReports permite definir o valor exibido para “Blank when null”, mas é possível imprimir 0 em vez de null?

Estou tentando a seguinte condição no meu campo(BigDecimal): ([color=red]$V{faltasMeasure}[/color] == [color=blue]null[/color] ? 0 : [color=red]$V{faltasMeasure}[/color])

Porém, o iReport retorna o seguinte erro: [color=red]Cannot cast from Number&Comparable<?> to Boolean[/color]

6 Respostas

J

Cartoni:
Quero imprimir 0 quando o meu valor numérico (BigDecimal) for igual a null.
O iReports permite definir o valor exibido para “Blank when null”, mas é possível imprimir 0 em vez de null?

Estou tentando a seguinte condição no meu campo(BigDecimal): ([color=red]$V{faltasMeasure}[/color] == [color=blue]null[/color] ? 0 : [color=red]$V{faltasMeasure}[/color])

Porém, o iReport retorna o seguinte erro: [color=red]Cannot cast from Number&Comparable<?> to Boolean[/color]

Você deve fazer assim, no TextFieldExpression:

new Boolean($V{faltasMeasure}==null) ? new BigDecimal("0") : $V{faltasMeasure}
C

Poxa, agradeço pela ajuda.
Porém, agora é lançado o seguinte erro: [color=red]Cannot cast BigDecimal to Boolean[/color]

S

opa tenta assim

new Boolean($V{faltasMeasure}==null) ? "0" : $V{faltasMeasure}

ai la em Textfield Expression Class vc altera pra java.lang.String

C

Eiitaa…

Strong, fiz o que vc sugeriu e agora o erro é:[color=red] Cannot cast from BigDecimal to String[/color]

=\

S

kra seguinte fiz os testes aqui e agora ta funcionando.
coloca este trecho dentro de Print When expression para que quando igual a null não aparecer nada

new Boolean($F{seuValorBigDecimal} != null)

ou
se quiser que quando igual a null apareca ‘field vazio’ por exemplo ai vc vai fazer assim

new String($F{seuValorBigDecimal} == null ? "field vazio" : $F{seuValorBigDecimal}.toString())

agora vai funcionar lembrando que seu Textfield Expression Class tem que ser java.lang.String

C

Perfeito!!! :smiley:

Obrigado!!! Excelente 2011

Criado 27 de dezembro de 2010
Ultima resposta 29 de dez. de 2010
Respostas 6
Participantes 3