同上

解决方案 »

  1.   

    在Timer中调用DBGrid1DrawColumnCell事件
    在DBGrid1DrawColumnCell事件中写
    procedure TFrmFindAutoPar.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    var s:boolean;
    begin
    if s  then
          dbgrid1.canvas.Font.Color:=clGreen
        else
          dbgrid1.canvas.Font.Color:=clRED ;
         dbgrid1.defaultdrawcolumncell(rect, datacol, column, state);
    end;
      

  2.   

    在Timer中调用DBGrid1DrawColumnCell事件
    在DBGrid1DrawColumnCell事件中写
    procedure TFrmFindAutoPar.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    var s:boolean;//替换的条件
    begin
    if s  then
          dbgrid1.canvas.Font.Color:=clGreen
        else
          dbgrid1.canvas.Font.Color:=clRED ;
         dbgrid1.defaultdrawcolumncell(rect, datacol, column, state);
    end;
      

  3.   

    在DBGridEh的OnGetCellParams事件中加下面代码    if DBGridEh1.SumList.RecNo mod 2 = 1 then
          Background := $00FFC4C4
        else
          Background := $00FFDDDD;
      

  4.   

    上面的仁兄的方法可能不行,要作如下改动:
    var
      Form1: TForm1;
      S:boolean;
    implementation{$R *.DFM}procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      if S then
        DBGrid1.Canvas.Font.Color:=clGreen
      else
        DBGrid1.Canvas.Font.Color:=clRED ;
      DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
      S:=NOT S;
    end;
      

  5.   

    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
      inherited;
      with DBGrid1 do
      begin
       if ((State = [gdSelected]) or (State=[gdSelected,gdFocused])) then
        begin
         Canvas.Font.Color :=ClYellow;
         Canvas.Brush.Color :=ClNavy;
        end
        else
        begin
          if  DataSource1.DataSet.RecNo mod 2< >0 then {判断当前数据是奇数还是偶数行}  
            Canvas.brush.Color :=ClWhite        {如果是奇数行,DBGrid背景以白色显示}
          else
            Canvas.brush.Color :=$00EAEAEA;      {如果是偶数行,DBGrid背景以浅灰色显示}
        end;
        DefaultDrawColumnCell(Rect, DataCol, Column, State); {这行很关键的,一定不要遗漏了}
      end;
    end;
    ...