Alternação da cor dos dados impressos (linhas) em um relatório
Para desenvolver um relatório (Gerador de Relatórios) que alterne a cor dos dados das linhas impressas no relatório, devem ser seguidos os passos abaixo. São eles:
1º passo: Na aba "Data/Dados", crie uma fonte de dados de sua escolha:
2º passo: Na aba "Design/Desenho"
cole um componente "Region/Região" na banda "Detail/Detalhe", o qual deve ser redimensionado de maneira que ocupe toda a área da banda;
cole os componentes que serão utilizados para a projeção dos dados sobre o componente "Region/Região":
3º passo: Na aba "Calc/Cálculo"
Clique com o botão direito do mouse sobre o quadrante superior esquerdo da aba e selecione a opção "Module/Módulo":
No mesmo quadrante, selecione a opção "Declarations/Declarações". Feito este passo, efetue um clique sobre a opção "Variables/Variáveis" (quadrante superior direito) e, em seguida, efetue um clique no quadrante inferior esquerdo e declare uma variável do tipo inteiro (após a palavra "var"), a qual servirá de base para a mudança da cor de cada linha (banda "Detail/Detalhe" da aba "Design/Desenho") de dado impressa:
4º passo: Clique com o botão direito do mouse sobre o quadrante superior esquerdo da aba e selecione a opção "Events/Eventos":
5º passo: O mesmo quadrante, selecione a opção "Report/Relatório". Feito esse passo, efetue um clique sobre a opção "BeforePrint" (quadrante superior direito) e, em seguida, inicialize a variável "Contador" com o valor "0":
6º passo: No mesmo quadrante superior esquerdo, selecione a opção "Detail/Detalhe". Feito este passo, efetue um clique sobre a opção "BeforePrint" e, em seguida, desenvolva um algoritmo que verifique se o valor da variável "Contador" é par, incrementando-o na sequência:
Observação: Algoritmo que foi desenvolvido acima:
begin
if ((Contador mod 2)= 0) then
begin
Region1.Brush color:= clYellow;
end
else
begin
Region1.Brush. Color:=clWhite;
end;
Contador:=Contador+1;
end;
7º passo:Na aba "Preview/Visualização", visualize o relatório gerado.
____________________________________________________________________________
Caso este tópico não tenha comentário satisfatório, envie e-mail para [email protected]