[b][color=violet]Procurei uma forma de fazer o efeito zebrado no meu relatorio e a unica solucao que me passavam era a de colocar um retangulo colorido por tras do textfield para ser impresso mediante uma condicao.
Isso é muito gambi e so funcionaria se minhas linhas ficassem sempre da mesma altura.
Portanto fui atrás de uma solucao mais profissional e estou compartilhando com alguem que precise
Vá no menu Formatar -> Estilos -> Novo
Na lateral direita da janela voce irá reparar o Condicoes do estilo, onde já localizamos um estilo padrão.
Esse estilo padrão é o estilo que será exibido independente de qualquer coisa e do lado esquerdo voce podera modificar o que quiser.
No caso do efeito zebrado, queremos que o background do textfield seja alterado em linhas alternadas, entao lá no condicoes do estilo iremos criar uma nova condicao
na janela que se abre coloque isto:[/color][/b]
new Boolean(($V{COLUMN_COUNT}.intValue() % 2) == 0)
[color=violet]Feito isso voce deixa essa condicao clicada e do lado esquerdo altera a proriedade comum->modo para opaco
e a cor de fundo voce seleciona o que quiser.
Uma vez criado o estilo vamos utilizá-lo:
Va no(s) textfield(s) -> propriedades ->comum
procure um combobox “estilo” e repare que irá aparecer lá o estilo que voce criou.
É só seleciona-lo, compilar o relatorio e está feito.
8) [/color]
[quote=lalaine][b][color=violet]Procurei uma forma de fazer o efeito zebrado no meu relatorio e a unica solucao que me passavam era a de colocar um retangulo colorido por tras do textfield para ser impresso mediante uma condicao.
Isso é muito gambi e so funcionaria se minhas linhas ficassem sempre da mesma altura.
Portanto fui atrás de uma solucao mais profissional e estou compartilhando com alguem que precise
Vá no menu Formatar -> Estilos -> Novo
Na lateral direita da janela voce irá reparar o Condicoes do estilo, onde já localizamos um estilo padrão.
Esse estilo padrão é o estilo que será exibido independente de qualquer coisa e do lado esquerdo voce podera modificar o que quiser.
No caso do efeito zebrado, queremos que o background do textfield seja alterado em linhas alternadas, entao lá no condicoes do estilo iremos criar uma nova condicao
na janela que se abre coloque isto:[/color][/b]
new Boolean(($V{COLUMN_COUNT}.intValue() % 2) == 0)
[color=violet]Feito isso voce deixa essa condicao clicada e do lado esquerdo altera a proriedade comum->modo para opaco
e a cor de fundo voce seleciona o que quiser.
Uma vez criado o estilo vamos utilizá-lo:
Va no(s) textfield(s) -> propriedades ->comum
procure um combobox “estilo” e repare que irá aparecer lá o estilo que voce criou.
É só seleciona-lo, compilar o relatorio e está feito.
8) [/color][/quote]
Ola lalaine , eu tenho trabalhado com ireport por alguns meses e ja utilizei essa sua dica, mas no meu ultimo relatorio essa tatica não esta funcionando, eu andei lendo um livro e fiz umas pesquisas, mas nao consegui ajuda…
O que eu vi no livro é que essa codificacao é usada em frames , é unica coisa que poderia ser diferente do que eu to fazendo ja que estou usando fields.
Eu nao consegui descobri por que nao esta ficando zebrado, se voce ou alguem aqui do guj tiver alguma ideia e puder me ajudar fico muito grata
Vai em menu -> janela ->Report Inspector, Style botão direito adicionar Stile nas propriedades de um nome ex: zebra Backcolor branco Default Style- true, Opaque- true, na janela Report Inspector vai em zebra botão direito Adicionar Condicional Style, no icone que abre, botão direito Edit Condition e coloca new Boolean(($V{COLUMN_COUNT}.intValue() % 2) != 0) para confirmar a Aplly. Nas propriedades dele Backcolor da cor que você quer que zebre, ai é so ir no seu relatorio e definir nas propriedades dos campos que você quer que ficam zebrados os Style com zebra.
[quote=jacksonlunkes] Vai em menu -> janela ->Report Inspector, Style botão direito adicionar Stile nas propriedades de um nome ex: zebra Backcolor branco Default Style- true, Opaque- true, na janela Report Inspector vai em zebra botão direito Adicionar Condicional Style, no icone que abre, botão direito Edit Condition e coloca new Boolean(($V{COLUMN_COUNT}.intValue() % 2) != 0) para confirmar a Aplly. Nas propriedades dele Backcolor da cor que você quer que zebre, ai é so ir no seu relatorio e definir nas propriedades dos campos que você quer que ficam zebrados os Style com zebra.
ok :D[/quote]
Cara, parece que deu certo, mas ta imprimindo toda linha, e não uma sim e outra não.
No lugar de COLUMN_COUNT eu coloquei REPORT_COUNT, que até onde eu sei é o contador de registro da página. Mas mesmo assim ta imprimindo todas as linhas.
COLUMN_COUNT conta as colunas pelo que eu sei provavelmente você deve ter definido este styles para todos ele so vai zebrar sa colunas das bands que se expandem como detail,
tente ir en styles adicionar styles e defina static text, barras, e outros componentes que você tiver nas bands que não se expandem como este style e na band dedail defina os componentes
que tm la como style zebra tenta ai.
Cara, não entendi muito bem o que você disse, mas acredito que já fiz oq vc está dizendo. “Setei” o style da linha da band detail como zebra e adicionei a condição. O problema está na aplicação da condição, pois qualquer coisa que coloco na condição não altera o resultado, pois todas as linhas ficam coloridas, e não uma sim e outra não.
Ja coloquei na condição simplesmente “false”, e mesmo assim as linhas são coloridas, o que não deveria acontecer, certo?
Então acho que a minha condição não está sendo avalidada por algum motivo que não sei qual é.
Um detalhe, não estava funcionando foi quando eu resolvi colocar o tal opaco como true nas propriedade do style, na condição do style e no text field da tabela.
estou tentando usar a dica num crosstab mas ele em vez de alternar as linhas esta alternando as colunas!
alguem pode me ajudar??
abração[/quote]
Cara já que vc é novo, crie um tópico novo com sua dúvida,isso vai te ajudar e provavelmente vai ter repostas…
assim vc ajuda o forum e tbm ajuda outras pessoas caso tenham o mesma dúvida
Como você está usando crosstab, imagino que a quantidade de colunas é variável, assim, você pode usar está formula (se alguém souber uma forma mais bonita xD)
Onde ($V{COLUMN_COUNT} -1) recebe o número da coluna partindo do zero, $V{QUANT_COLUMN} * 2) é a quantidade de colunas em 2 linhas e $V{QUANT_COLUMN} lógicamente é a quantidade de colunas :B
Uma coisa que tive problemas e deve ter sido o problema de vários por aqui foi o seguinte.
1 - Você cria um estilo e seta o backround para cinza.
2 - Adicione a este estilo um “conditional style”, inclua a condição, E ALTERE A COR DO BACKROUND DESTE CONDITIONAL STYLE PARA BRANCO.
Nas dicas não ficou claro que era necessário alterar a cor na condição (eu pensei no início que esta condição era para o estilo).
O relatório principal lista várias linhas, sendo que possui um atributo, que eu descrevi aqui como “coluna_sub_report”, que pode ter 1 ou mais linhas.
Pensei em aplicar à todas as linhas do sub_report a mesma cor da linha “pai” do relatório principal. Mas como fazer isso?
Pensei em passar a cor por parâmetro para o subreport, mas tem que ser um parâmetro dinâmico relativo a linha principal.
Algum de vocês já utilizou os styles para fazer efeito zebrado em linhas com [color=green]isStretchWithOverflow=“true”[/color]? Não estou conseguindo fazer a linha se estender até o final do detail.