在dbgrid的
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
  with dbgrid1.Canvas do
  begin
    Brush.Color  := clRed;
    TextRect(Rect, 0,0,'ssssss');
  end;end;事件中写代码

解决方案 »

  1.   

    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
      if not (gdSelected in State ) then
      begin
        if (DM.Qry1.RecNo mod 2=1) then//隔行换色:ADO才可以实现
          DBGrid1.Canvas.Brush.Color:= clGreen
        else
          DBGrid1.Canvas.Brush.Color:= clYellow;
      end
      else
      begin
        DBGrid1.Canvas.Brush.Color:=clred;
        DBGrid1.Canvas.Font.Color:= clBlack;
      end;
      DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
      

  2.   

    恁复杂吗?双击你的table可以编辑字段,加入所有字段,每个字段都有color属性.
    可以五颜六色呵呵
      

  3.   

    我的机器死了好几次,没有能够早点看到恢复,不过还是
    佩服
    xiammy(傻二哥)给的程序有点问题,不能直接运行
    TextRect(Rect, rect.left,rect.top,field.asstring);
    tikkypeng(千两狂死郎)的方法很好
    DIABL0(电脑破坏神)的方法好像只能改变列的颜色,用你的方法我没有做到修改行的颜色,还望指点。
    请到http://www.csdn.net/expert/TopicView.asp?id=291104
    领分