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

23/01/2012

0

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

Responder

Posts

23/01/2012

Antônio Neto

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;

Responder

Gostei + 0

23/01/2012

Antônio Neto

Resolvido...
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar