Bom dia preciso criar um campo subtotal apartir do campo: valor_unitario * quantidade
Ireport - como criar campo subtotal?
8 Respostas
Esses campos são parameters ou fields?? Qual o nome das variáveis??
Cara se tiveres usando o iReport isso acho que dá!
Cria uma variavel:
Variable Name:
Valor_Local
Variable Class Type: java.lang.Double
Variable Expression:
new Double($V{Valor_Local}.doubleValue()+$F{valor}.doubleValue())
Obs: $F{valor} // Valor que é impresso na coluna
Initial Value Expression
new Double(“0”)
É assim tenho os campos
do select
VALOR_UNITARIO java.math.BigDecimal
QTD java.math.BigDecimal
no relatório com esses campos tenho os texField:
$F{VALOR_UNITARIO}
$F{QTD}
meu subtotal será a multipilcação destes, mais se crio outro textField $F{ como faço a multiplicação }
Obrigado pela atenção
Não tenho certeza, mas acho que dá para fazer assim:
($F{VALOR_UNITARIO}).multiply($F{QTD})
Isso pode estar direto num TextField.
Se não funcionar, você deverá criar uma VARIABLE que receberá esse valor.
da erro: o método multiply(Double) é indefinido para o tipo Double
Tentei fazer das duas formas
Mas então se VALOR_UNITARIO e QTD são double, você deve multiplicar com o *.
Você deverá usar o multiply apenas para BigDecimal (como mencionado).
Coloquei todos com o tipo: java.lang.Double
campos:
VALOR_UNITARIO
QTD
textfield
$F{VALOR_UNITARIO}
$F{QTD}
criei variável
subtotal
na variavel de expressão coloquei
($F{VALOR_UNITARIO})*($F{QTD})
erro diz que o operador * é indefinido para o argumento tipo java.lang.Double
to quase lá mas to marcando bobera em algum lugar
Tiago obrigado pela paciência
coloquei campos e textos como java.math.BigDecimal
ai com a expressão ($F{VALOR_UNITARIO}).multiply($F{QTD})
funcionou
com double e usando somente * não deu, mas BigDecimal tá ótimo
Brigado