Eu utilizo o código abaixo, que encontrei na net, e não tenho problema algum.
Se vc observar é idêntico ao seu.
procedure TFormPadrao.DBGridPadraoDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
// Se a linha for ímpar
if not odd((Sender as TDBGrid).DataSource.DataSet.RecNo) then
// se a célula não está selecionada
if not (gdSelected in State) then
begin
// Seta a cor de fundo da célula
(Sender as TDBGrid).Canvas.Brush.Color := $00FFEFDF;
// Pinta a célula
(Sender as TDBGrid).Canvas.FillRect(Rect);
// Pinta o texto padrão
(Sender as TDBGrid).DefaultDrawDataCell(rect, Column.Field, State);
end;
end;
Luis Alberto
Belo Horizonte - MG
- Mensagem original
De: Jeanne [EMAIL PROTECTED]
Para: delphi-br@yahoogrupos.com.br
Enviadas: Segunda-feira, 6 de Novembro de 2006 14:21:52
Assunto: [delphi-br] Grid Zebrado nao funciona
oi pessoal, estou tentando deixar um grid Zebrado. O banco que estou utilizando
eh o Firebird e to utilizando um TQuery como dataset.
A função que estou utilizando eh a seguinte:
if not odd(TDBGrid(Sender).DataSource.DataSet.RecNo) then
if not (gdSelected in State) then
begin
with TDbGrid(Sender) do
begin
Canvas.Brush.Color := $00FFEFDF;
Canvas.FillRect(Rect);
DefaultDrawDataCell(rect,Column.Field,State);
end;
end;
O problema é que o valor desse TDBGrid(Sender).DataSource.DataSet.RecNo é
sempre -1. Alguem sabe porque acontece isso?
[As partes desta mensagem que não continham texto foram removidas]
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Links do Yahoo! Grupos
___
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
Registre seu aparelho agora!
http://br.mobile.yahoo.com/mailalertas/
[As partes desta mensagem que não continham texto foram removidas]
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages
* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
Links do Yahoo! Grupos
* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html