DbGrid c/linhas coloridas
15/02/2003
0
Como se faz um dbgrid ficar com as linhas coloridas, estilo zebrado, ou seja, uma linha cinza, uma branca, depois cinza, branco e assim por diante...
Obrigado.
Obrigado.
Anonymous
Curtir tópico
+ 0
Responder
Posts
15/02/2003
Carnette
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
If odd(Table1.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clWhite;
DBGrid1.Canvas.Brush.Color:= clGreen;
end
else
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= clWhite;
end;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;
begin
If odd(Table1.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clWhite;
DBGrid1.Canvas.Brush.Color:= clGreen;
end
else
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= clWhite;
end;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;
Responder
15/02/2003
Anonymous
Esta rotina é perfeita....mas tem um pequeno probleminha.
Se você estiver usando Interbase + BDE , o Recno sempre é igual a zero. Não testei com IBX ou dbExpress.
A solução é pegar um componente alternativo ou desenvolver. Tem um componente brazuca meio velhinho que quebra o galho : ZebraGrid.
Se você estiver usando Interbase + BDE , o Recno sempre é igual a zero. Não testei com IBX ou dbExpress.
A solução é pegar um componente alternativo ou desenvolver. Tem um componente brazuca meio velhinho que quebra o galho : ZebraGrid.
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
If odd(Table1.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clWhite;
DBGrid1.Canvas.Brush.Color:= clGreen;
end
else
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= clWhite;
end;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;
Responder
Clique aqui para fazer login e interagir na Comunidade :)