设置Dbgrid的DBGrid1DrawDataCell事件中添加如下代码:
dbgrid1.Canvas.Font.Color:=clgreen;
  if gdSelected in state then
    SetBkColor(dbgrid1.canvas.handle,clred)
  else
    setbkcolor(dbgrid1.canvas.handle,clwhite);
dbgrid1.Canvas.TextRect(rect,0,0,field.AsString);
dbgrid1.Canvas.Textout(rect.Left,rect.Top,field.AsString);

解决方案 »

  1.   

    liang_z(千山一刀之忍者神龟) 
    如果使用query查处某些符合条件的记录,在dbgrid里面如何对找出的这些行设置颜色?
      

  2.   

    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    begin
       if  DBGrid1.DataSource.DataSet.RecNo = 2 then   begin
         DBGrid1.Canvas.Brush.Color := clred ;
         DBGrid1.Canvas.FillRect (rect);
         dbgrid1.Canvas.Textout(rect.Left,rect.Top,field.AsString);
       end
       else begin
         DBGrid1.Canvas.Brush.Color := clblue ;
         DBGrid1.Canvas.FillRect (rect);
         dbgrid1.Canvas.Textout(rect.Left,rect.Top,field.AsString);
       end ;
    end;