Fórum DBGrid Zebrado #180248
06/09/2003
0
Em tempo de projeto, fica com uma unica cor.
Em tempo de execução, fica com o fundo totalmente em branco.
Segue o código para zebrar o DBGrid, no evento DrawColumnCell:
If DBGrid.Canvas.Brush.Color = clCream Then
Begin
DBGrid.Canvas.Brush.Color := clCream;
End
Else
Begin
DBGrid.Canvas.Brush.Color := clSkyBlue;
End;
DBGrid.Canvas.FillRect(Rect);
DBGrid.Canvas.TextOut(Rect.Left + 2, Rect.Top, Column.Field.AsString);
Daaneto
Curtir tópico
+ 0Posts
06/09/2003
Koplin
procedure TDBGrid.DrawColumnCell(const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
Begin
with canvas do begin
If Brush.Color = clhighlight then Begin
brush.Color := $0045CFF3;
font.Color:=clBlack;
end else
If Odd(DataSource.DataSet.RecNo) Then
Brush.Color:= $00E4E7CD else Brush.Color:= clWhite;
DefaultDrawDataCell(Rect,columns[datacol].field, State);
end; end;
Gostei + 0
06/09/2003
Daaneto
Arrumei o texto que você enviou da seguinte forma, acho que fica mais legível.
With DBGrid.Canvas do
begin
If Brush.Color = clhighlight then
Begin
Brush.Color := $0045CFF3;
Font.Color:=clBlack;
end
else
Begin
If Odd(DBGrid.DataSource.DataSet.RecNo) Then
Begin
Brush.Color:= $00E4E7CD
End
else
Begin
Brush.Color:= clWhite;
End;
End;
DBGrid.DefaultDrawDataCell(Rect, DBGrid.Columns[DataCol].Field, State);
End;
Gostei + 0
06/09/2003
Koplin
Peguei o seu código e coloquei no evento DrawColumnCell de uma DBGrid aqui e ajustei a propriedade DefaultDraw para False ( o que eu esqueci de comentar, desculpe). Em tempo de projeto a grid não muda (claro). Mas em tempo de execução ela fica verde e branca com a linha focada laranja.
Se não conseguir, eu tenho um componente baseado neste código. Te mando, se desejar.
Gostei + 0
10/10/2003
Fluka
[u:efbf37a1a1]fseehagen@msn.com[/u:efbf37a1a1] :?:
Gostei + 0
13/08/2005
Ksmarini
esse realmente é o melhor código pra zebrar um dbgrid que eu já vi
O DBGrid fica ótimo... Testei o código em no delphi 5, 6 e 7 e funciona perfeitamente
valews mesmo.
Gostei + 0
13/08/2005
Marco Salles
O Amigo ksmarini se refere a qual código ???
O Do daaneto Ou O Do koplin ???
Gostei + 0
14/08/2005
Ksmarini
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)