Mudando ror do retângulo em tempo de execução - iReport

7 respostas
P

Boa tarde a todos.

Possuo um relatório no iReport que funciona perfeitamente a muito. Agora preciso implementar um pequeno retângulo no mesmo e que sua cor mude em tempo de execução apartir do conteúdo do campo "CodigoCor" (int).

EX.: Quando o CodigoCor = 1 então tenho que mudar sua propriedade Forecolor para a cor [color=red]Vermelha[/color].

Preciso muito desta ajuda já procurei em vários lugares e nada.

Desde já agradeço pelo empenho.

7 Respostas

M

Boa tarde!

Vc pode conseguir esse efeito criando um estilo condicional “conditional style” e aplicando ao seu field, quando a condição for true, ele mudará as cores como vc deseja.

Att.

P

Blz!

Tentei fazer desta forma, porém não estou sabendo escrever isso.

         Fiz assim: Somente para duas cores, mas serão tantas quando existirem cadastradas.

Coloquei isso no EXPRESION EDITOR do Campo “CodigoCor”
O Campo é o localizado no canto superior direito da etiqueta. (Em Negrito)

( $F{CodigoCor}.equals(1) ? rectangle-1.setBackcolor = "#FFFFFF" : rectangle-1.setBackcolor = "#000000" )
Estou pensado em colocar a string de cor no cadastro da mesma e dizer que o Backcolor do objeto é igual a esse valor. Mas primeiro preciso saber como funciona isso para duas cores só:

         Tu me ajuda?
P

Em anexo segue a imagem da etiqueta impressa.

L

uso um retangulo na cor desejada, onde este retangulo na band fica true ou false

conforme ManoJava falou acima

P

Me perdoe!

Não entendi nada.

Na verdade desejo que a cor do circulo (que é uma elipse igual a um retângulo, uma gifura qualquer!) mude de cor conforme o número que aparece no canto superior direito da etiqueta.

Coloquei esse código no campo que está no canto superior direito da etiqueta.

( $F{CodigoCor}.equals(1) ? rectangle-1.setBackcolor = "#FFFFFF" : rectangle-1.setBackcolor = "#000000" )
M

Boa tarde!

Vá na janela “Report Inspector” e crie um “Style” que será a base para a condição, depois crie um “conditional style”, e na “condition expression” vc coloca a condição que deve ser atendida para que as cores mudem, se precisar de muitas cores, crie um field ou uma variavel que armazene um determinado numero, passe esse numero como parametro dentro da condição do estilo, assim sempre q esse numero mudar, a condição fará com que as cores mudem, depois é só aplicar esse estilo à sua figura.

Att.

P

Fico muito agradecido a todos, mas o fato é que não sei como referenciar as propriedades do objeto que vai receber a cor.

Preciso em particular manipular a propriedade BACKCOLOR do objeto, estou fazendo assim:

rectangle-1.setBackcolor = "#FFFFFF", mas está errado.

Se conseguir fazer essa referência está solucionado o problema.

conto com vocês.

Obrigado.

Criado 5 de setembro de 2011
Ultima resposta 5 de set. de 2011
Respostas 7
Participantes 3