Ecfisa, interesante el metodo.
No logré que funcione pero tomé este dato de referencia que me interesó.
COLORS[Odd(Rect.Top div DefaultRowHeight)
para adaptar a lo que uso que es el metodo normal que mencionabamos antes. Hay algunos detalles que resta pulir aun.
De hecho reemplazando el defaultrowheight por 18 funciona pero hay un detalle de pintado al recorrer los registros uno por uno, bajando de lo que se ve en la pantalla o bien subiendo. AL usar page down para navegar el grid no hay problemas.
Código Delphi
[-]
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
const
COLORS : array[Boolean] of TColor = (clYellow, clMoneyGreen);
begin
with DBGrid1 do
begin
Canvas.Brush.Color := COLORS[Odd(Rect.Top div 18)];
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
Falta pulir esos detalles de refresco pero es prometedor ya que no utiliza el numero de registro.