QuickReport QrLabel - Zebrar e Colorir componentes num formulário padrão de relatórios

Delphi

23/01/2012

Olá a todos.

Gostaria de fazer um formulario de relatório padrão. Neste relatório quero adicionar uma rotina para zebrar
o relatório e colorir o componente QRLabel com a cor zebrada. Não estou conseguindo fazer a rotina para percorrer
os componentes existentes nesta aba, abaixo parte do codigo.
Lembrando que este é um relatório padrão não sei quantos componentes QRLabel terei no relatorio.

procedure TFrRelPadraoQr_Horizontal.DetailBand1BeforePrint(
Sender: TQRCustomBand; var PrintBand: Boolean);
var
i : integer;
begin

if m_zebra = false then
sender.Color := clWhite
else
begin
sender.Color := clSilver;
for i := 0 to Detailband1.ComponentCount -1 do >>>> ** sempre 0 não percorre
begin
if Components[i] is TQrLabel then
TQrLabel(Components[i]).Color := clsilver;
end;
end;
m_zebra := not m_zebra;

end;

Abraços e obrigado

Neto

Antônio Neto

Antônio Neto

Curtidas 0

Respostas

Antônio Neto

Antônio Neto

23/01/2012

A solução abaixo funcionou mas penso que possa ser melhorada, qualquer colaboração é bem vinda.


procedure TFrRelPadraoQr_Horizontal.DetailBand1BeforePrint(
Sender: TQRCustomBand; var PrintBand: Boolean);
var
i : integer;
begin

if m_zebra = false then // se a linha será zebrada
begin
sender.Color := clWhite;
for i := 0 to ComponentCount -1 do
begin
if Components[i] is TQrLabel then
TQrLabel(Components[i]).Color := ClWhite;
end;
end
else
begin
sender.Color := clSilver;
for i := 0 to ComponentCount -1 do
begin
if Components[i] is TQrLabel then
TQrLabel(Components[i]).Color := clSilver;
end;
end;

m_zebra := not m_zebra;

end;

GOSTEI 0
Antônio Neto

Antônio Neto

23/01/2012

Resolvido...
GOSTEI 0
POSTAR