Les comento que sigo con problemas al colorear filas intercaladas en un DBGRID con BD Access.
El mismo código (abajo mencionado) utilicé con BD Paradox y DBF con conexión BDE, y me funcionó OK.
Ahora estoy utilizando con BD Access(mdb), conexión ODBC y TDatabase y no funciona.
Código Delphi
[-]
procedure TForm_CuentasPagar.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
HoldColor: TColor;
begin
HoldColor:=DBGrid1.Canvas.Brush.Color;
If (SQLProveedores.DataSet.RecNo mod 2 = 0) then
begin
DBGrid1.Canvas.Brush.Color:=clMoneyGreen;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
DBGrid1.Canvas.Brush.Color:=HoldColor;
end;
end;
En BD Paradox y DBF, la consulta SQL en:
SQLProveedores.DataSet.RecNo me dá como resultado el número de registros de la consulta.
En BD Access, la consulta SQL en:
SQLProveedores.DataSet.RecNo es igual a -1, y esto no permite colorear intercalado las filas.
Preciso de su colaboración.
De antemano, muchas gracias por la ayuda.
Max