Sobre as cores… acredito que o esquema seja similar à gambiarra que utilizo para fazer um relatório zebrado…
Eu faço o seguinte:
crio um retângulo por trás dos fieds em details…
coloco a foreground dele branca e background cinza…
Nas propriedades deste retângulo, na acaba commom… em “print when expression” digito
new Boolean(($V{COLUMN_COUNT}.intValue() % 2) == 0)
Então, o retângulo cinza aparecerá quando a linha for par e não aparecerá quando ela for ímpar…
Soa meio como gambiarra… mas eu não conheco outro jeito…
Pro seu caso, seguindo essa linha de raciocínio, eu criaria dois fields, um vermelho e o outro preto… e nos respectivos print when expression eu colocaria em um deles:
new Boolean(($V{COLUMN_COUNT}.intValue() % 2) == 0)
e no outro:
new Boolean(($V{COLUMN_COUNT}.intValue() % 2) != 0)
Só não sei se dá certo pois não tenho como testar aqui.
Se alguém souber… favor me avisar.
Abraços.