IReport - como validar duas variáveis?

1 resposta
E

Estou utilizando o IReport 2.0.4
Necessito identificar a última página de um grupo do relatório. Pensei em criar duas variáveis, uma $V{Var1} para armazenar o valor total de páginas do grupo e outra, $V{Var2} para ir contando página por página. Quando $V{Var1}=$V{Var2} então estou na última página do grupo, assim eu poderei colocar uma mensagem que necessito. Meu relatório tem dois grupos: primeiro descrição de itens e outro de anexos(figuras). Necessito colocar uma mensagem apenas no final do primeiro grupo(grupo de descrição de itens).
Foram então criadas as duas variáveis da seguinte maneira:

$V{Var1}

Tipo de Classe de Variável: java.lang.Integer

Tipo de Cálculo: Nada

Resetar Tipo: Nenhum

Tipo de Incremento: Nenhum

Variável de Expressão: $V{PAGE_NUMBER}

Valor Inicial da Expressão: new Integer(1)
$V{Var2}

Tipo de Classe de Variável: java.lang.Integer

Tipo de Cálculo: Nada

Resetar Tipo: Nenhum

Tipo de Incremento: Página

Variável de Expressão: new java.lang.Integer(  ($V{PAGE_NUMBER}.intValue()) +(1) )

Valor Inicial da Expressão: new Integer(1)

É criado um label no relatório com:
Na guia: Campo texto:
Classe de Expressão de Campo de Texto: java.lang.String
Tempo de Avaliação: Agora
Expressão de Campo de Texto: “Mensagem teste.”
Na guia Comum:
Imprimir quando a expressão:
new java.lang.Boolean($V{Var1}.toString().equals($V{Var2}.toString()) ? true : false)

Quando arrasto para a banda pageFooter, para criar um If para colocar a mensagem no final do grupo, os valores das variáveis ficam erradamente sempre $V{Var1}=1 e $V{Var2}=1
O valor das duas variáveis ficam sempre iguais. Parece que, quando eu coloco as variáveis no relatório, elas não apresentam os valores corretamente.

Alguém já teve a necessidade de validar por If duas variáveis no IReport? Como fizeram?
Já tentei em outras bandas e nada. Já tentei trocar Tempo de Avaliação, Tipo de incremento, Resetar Tipo e Tipo de Cálculo.
Será que a solução poderia ser através de Scriptlet?
Se alguém tiver alguma sugestão, desde já agradeço.

1 Resposta

D

Cara, acho que vc pode fazer isso usando um tipo de agrupamento… confere isso em menu Visualizar -> Agrupamentos do Relatorios…

Criado 9 de junho de 2009
Ultima resposta 12 de jun. de 2009
Respostas 1
Participantes 2