fabin
Agosto 4, 2011, 1:38pm
#1
Pessoal boa tarde,
Criei um relatorio no ireport, mas gostaria de tratar alguns campos, tipo quando chamo o relatorio se tiver o campo null, gostaria de substituir por algum valor
Ex: se o campo Data tiver NULL substituia por “----”, se for Valor tiver NULL subsituia por 0,0.
Isso e um relatorio de pagamento, eu iria imprimir todas as parcelas do cliente pagas e nao-pagas, e nas não pagas ele imprime null.
Toda dica será muito bem vinda.
Obrigado a todos
Opa,
Cara eu sempre marco a opção: Blank When Null dessa forma quando for nullo ele imprime em branco…
No seu caso pode ser uma saida, eu nunca utilizei de outra forma…
Valews!
http://wolmirgarbin.wordpress.com
2 curtidas
Ou isso, ou usar um operador ternário:
$F{teuCampo} != null ? $F{teuCampo} : "----"
Sacou?
é uma boa, caso vc queira evitar os null no relatório.
vc pode tb editar o textfield para aceitar uma expressão, como por exemplo, if else:
da até para usar um isEmpty() por ali.
att,
[quote=leoramos]Ou isso, ou usar um operador ternário:
$F{teuCampo} != null ? $F{teuCampo} : "----"
Sacou?[/quote]
leoramos , o participante mais rápido do guj hehehe.
att,
1 curtida
fabin
Agosto 4, 2011, 2:23pm
#6
Obrigado wolmirGarbin.
Este procedimento é mais certo, vou utilizar-lo
Obrigado mesmo…
Pessoal obrigado pela ajuda…
não sabia dessa funcao do ireport…
Obrigado deu certo aki…
haiehauiuhe nego vai achar que não faço nada da vida
kelvis
Abril 11, 2013, 6:40pm
#8
PessoALL,
Sei que o tópico é antigo, mas estou enfrentando um problema aqui e não sei como resolver, pois tô começando agora com IReport…
O problema acontece quando o valor militar.militarTurma.dtConclusao vem nulo do banco… Ocorre o seguinte erro e ele não gera o relatório:
15:40:56,625 INFO [STDOUT] Error retrieving field value from bean : militar.militarTurma.dtConclusao
Esse é meu textField… Inclusive eu estou passando true no isBlankWhenNull!
<textField isBlankWhenNull="true">
<reportElement x="482" y="164" width="68" height="16"/>
<textElement verticalAlignment="Middle">
<font fontName="Times New Roman" size="9" isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[new SimpleDateFormat("dd/MM/yyyy", new Locale("pt","Br")).format($F{militar.militarTurma.dtConclusao})]]></textFieldExpression>
</textField>
Toda ajuda será bem vinda!