procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if not Odd(TDBGrid(Sender).DataSource.DataSet.RecNo) then begin
    TDBGrid(Sender).Canvas.Brush.Color := clSkyBlue;
    TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
end;

解决方案 »

  1.   

    字体颜色也可以改变的你用的是这段代码?
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; 
      DataCol: Integer; Column: TColumn; State: TGridDrawState); 
    begin 
      if Column.Field.AsInteger < 75 then begin 
         DBGrid1.Canvas.Font.Color := clWhite;   /这里字体的颜色就是白色的,你可以改
         DBGrid1.Canvas.Brush.Color := clRed;  //这里设置单元格填充色 
         DBGrid1.Canvas.FillRect(Rect);   //这里对相应的单元格进行北景色填充 
      end; 
      //输出内容 
      DBGrid1.Canvas.TextRect( Rect, Rect.Left, Rect.Top, Column.Field.AsString); 
    end;
      

  2.   

    to cobi(我是小新):请用含Memo的表测试你的方法!
      

  3.   

    你的代码怎么写的?
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      if dbgrid1.DataSource.dataset.recno mod 2=0 then //隔一行一换
      dbgrid1.canvas.brush.color:=clmoneygreen 
      else
      dbgrid1.canvas.brush.color:=clyellow;
      dbgrid1.canvas.fillrect(rect);  
      dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
    end;
    你再在上面加上更改字体的颜色就ok了
      dbgrid1.canvas.brush.color:=clblack;//改为黑色 
      

  4.   

    to cobi(我是小新):请用含Memo的表测试你的方法! 谢谢
    to cobi(我是小新):请用含Memo的表测试你的方法! 谢谢
    to cobi(我是小新):请用含Memo的表测试你的方法! 谢谢
    to cobi(我是小新):请用含Memo的表测试你的方法! 谢谢
    to cobi(我是小新):请用含Memo的表测试你的方法! 谢谢
    to cobi(我是小新):请用含Memo的表测试你的方法! 谢谢
    to cobi(我是小新):请用含Memo的表测试你的方法! 谢谢
    to cobi(我是小新):请用含Memo的表测试你的方法! 谢谢
      

  5.   

    to cobi:zswang(伴水)(被黑中)你的代码试验过了吗?能执行吗?