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