Jasper Report

Ola a todos,

Estou com um problema !

tenho um relatorio de tem um campo que retorna 0 ou 1. um short.

preciso tratar esse valor em uma variavel ou no field mesmo usando cast mas nao consegui. exemplo se for 0 retorna uma string “NG” se for 1 “OK”.

tentei a seguinte expressao.

$F{corda} == 0?“NG”:“OK”

tentei usar cast java.lang.String( $F{corda} == 0?“NG”:“OK” )

mas nada…

como fazer, usar variavel ? como usar ?

Grato

Fernando Oliveira

Olá

Bem vindo ao GUJ!

Você tinha um problema e me causou 2. Me obrigou a apagar as mensagens duplicadas que colocou. Basta colocar sua mensagem uma única vez.

[]s
Luca

Olá, cria uma variável tipo String e no campo “Variable Expression” coloque sua condicional, pode ate ser esta que vc postou aki, $F{corda} == 0?“NG”:“OK”

E não esqueça de ajustar os campos Reset type e companhia de acordo com a sua necessidade.

Falow…

Amigo nao funciono não, deixei meu campos Reset type como none ou padrao mas mesmo assim nao funciono …
Errors compiling .\Vanning15.jasper!
it.businesslogic.ireport.ReportClassLoader@20ca8b net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. Incompatible operand types Short and int value = (java.lang.String)(((java.lang.Short)field_corda.getValue()) == 0?“NG”:“OK”); <--------------------------------------------> 2. Incompatible operand types Short and int value = (java.lang.String)(((java.lang.Short)field_corda.getOldValue()) == 0?“NG”:“OK”); <-----------------------------------------------> 3. Incompatible operand types Short and int value = (java.lang.String)(((java.lang.Short)field_corda.getValue()) == 0?“NG”:“OK”); <--------------------------------------------> 3 errors at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:164) at net.sf.jasperreports.engine.design.JRDefaultCompiler.compileReport(JRDefaultCompiler.java:131) at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:127) at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:109) at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:461) at java.lang.Thread.run(Unknown Source)
Compilation running time : 2141

Ah amigo consegui hehehe,
$F{corda}.intValue() ==0?“OK”:“NG”
tive que colocar intValue…

Valeu… galera…

Fernando

Uma dica é você verificar os tipos de campos que estão sendo atribuídos, ou seja, em variable expression você deverá estabelecer o mesmo tipo definido neste field ou efetuar uma conversão manualmente.

:wink:
Mas valeu!!!