procedure Tmain.DBGridEh1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
begin
  if DataModule1.ADOQuery4.recno mod 2 =1 then
     DBGrideh1.Canvas.Brush.Color:=clwhite
  else
     DBGrideh1.Canvas.Brush.Color:=color.Color;
  if ((State = [gdSelected]) or (State = [gdSelected, gdFocused])) then
  begin
    DbGrideh1.Canvas.Brush.color :=$00C6FF8C;
    dbgrideh1.Canvas.Font.Color:=clblack;
    dbgrideh1.Canvas.Font.Size:=10;
    dbgrideh1.Canvas.Font.Style:=[fsBold];
  end;  DBGrideh1.DefaultDrawColumnCell(rect,datacol,column,state);
end;
这样可以让DBGrideh1单双行的颜色不同,并且选中行的字体变粗,但是当设定DBGrideh1的
FrozenCols=3;即固定DBGrideh1的前三列时,当选中DBGrideh1的任一行时,FrozenCol部位就
看不到数据,而只有DataCol部份才能看到数据。
如何让固定前几列后DBGrideh1在选中任一行时,全部一行还有单双行的颜色不同
,并且选中行的字体变粗的效果? 谢。