Jasperreport

6 respostas
Marlise

preciso alterar um cálculo no relatório e pricisaria usar (if else) como isso pode ser colocado no codigo do .jrxml, tipo se isto for verdedeiro executa
uma ação :idea:

6 Respostas

M

Marlise,

você pode fazer o seguinte, se você tem de testar alguma condição para gravar algum valor em variável ou campo do relatório, você pode tentar uma abordagem assim, no campo onde você define o valor de um campo coloque:

<condicao> ? <true> : <false>

// no valor do campo
$V{VarX} > $V{VarY} ? "x > y" : "x < y"

mas lembre-se de que você pode ter somente uma instrução em cada bloco de condição.

[]'s :wink:

Marlise

Valeu !!

Marlise

consegui fazer algo mas esta dando problema de cast, não sei como fazer a converção no jasper,

tenho algo assim,
new Boolean(((Float)$F{trans_amount}).floatValue() <= 199)
se isso for veradeiro então
$F{pos_tx} = 15

algo parecido com isso.

Obrigado.

M

Marlise,

faça o seguinte, no textfield que você deseja mostrar o valor que dependa da condição, coloque em Textfield Expression o seguinte:

supondo que $F{trans_amount} seja do tipo Float e que esse Textfiled que você vai mostrar seja String.

($F{trans_amount}.floatValue() <= 199 ? "15" : "valor caso condicao seja falsa")

:wink:

Marlise

esse relatorio já estava pronto, eu só tenho que fazer alumas modificações,
vou tentar explicar oque acontece,

tenho uma colun que mostra $F{trans_amount} e outra com $F{pos_tx},

essa coluna da pos_tx quero que mostre o valor ; (a coluna que vai mostrar o valor é do pos_tx)
se o valor de trans_amount for <400 e trans_amount for >= 200 e
a pos_tx = 25,
se o valor de trans_amount for < 200 e pos_tx = 15
se o valor de trans_amount for >=400 e pos_tx = 50

são varias empresas com pos_tx diferentes então somete nestes casos mostre o valor,

não sei se vc entendeu.

obrigado

Marlise

Blz!!!

consegui resolver o problema.

Criado 4 de abril de 2006
Ultima resposta 7 de abr. de 2006
Respostas 6
Participantes 2