代码如下:
    Dbgrid1.cancas.font.color:=clred; //红色
  dbgrid1.defaultdrawcolumcell(rect,datacol,colum,state);

解决方案 »

  1.   

    bpc的方法不行,不是在DrawColumnCell事件中。
      

  2.   

    下面是我在程序中用的一段代码, 供你参考
    procedure TMainFrm.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
     if DataMoudle.Query1.FieldByName('CLBZ').asBOOLEAN=TRUE then
        begin
          DBGrid1.Canvas.Brush.Color:=clBtnFace;
          DBGrid1.Canvas.FillRect(Rect);
          DBGrid1.Canvas.Font.Color:=clBlue;
          DBGrid1.DefaultDrawColumnCell (Rect,DataCol,Column,State);
        end;
    end;
      

  3.   

    先给某table添加一个新字段"aa",再加入如下代码就可以实现了。
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin if table1.FieldByName('aa').asstring='001' then
        begin
          DBGrid1.Canvas.Brush.Color:=clred;
          DBGrid1.Canvas.FillRect(Rect);
          DBGrid1.Canvas.Font.Color:=clBlue;
          DBGrid1.DefaultDrawColumnCell (Rect,DataCol,Column,State);
        end;
    end;procedure TForm1.DBGrid1DblClick(Sender: TObject);
    begin
      table1.Edit;
      table1.FieldByName('aa').asstring:='001';
    end;
      

  4.   

    大虾们说来说去,还是没逃掉DrawColumnCell事件,请看问题具体内容!