Ireport - como criar campo subtotal?

8 respostas
U

Bom dia preciso criar um campo subtotal apartir do campo: valor_unitario * quantidade

8 Respostas

T

Esses campos são parameters ou fields?? Qual o nome das variáveis??

L

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”)

U

É 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

T

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.

U

da erro: o método multiply(Double) é indefinido para o tipo Double
Tentei fazer das duas formas

T

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).

U

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

U

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

Criado 29 de abril de 2008
Ultima resposta 29 de abr. de 2008
Respostas 8
Participantes 3