procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
DBGridDraw(DBGrid1,rect,datacol,column,state,clskyblue,$00FFE8B3,$00996600);
end;
procedure DBGridDraw(Sender: TDBGrid;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState; Color1: Tcolor; Color2: Tcolor; ColorC: Tcolor);
begin
Case Sender.DataSource.DataSet.RecNo mod 2 = 0 of//根据数据集的记录号进行判断,如果是clUseServer 会失败
True : Sender.Canvas.Brush.color:=color1; //偶数行颜色
False: Sender.Canvas.Brush.color:=color2; //奇数行颜色
end;
if ((State = [gdSelected]) or (State=[gdSelected,gdFocused])) then begin //file://选中行用红色显示
Sender.Canvas.Brush.color:=colorC; //当前行颜色
Sender.Canvas.pen.mode:=pmMask;
end;
Sender.DefaultDrawColumnCell (Rect,DataCol,Column,State);
end;