设定一个全局变量FColor,
在DataSourceDataChange中赋值,然后Repaint关联的DBGrid,
在DBGrid的OnDrawColumnCell事件中写代码处理就可以了.

解决方案 »

  1.   

    Fcolor类型是什么,如何定义?
      

  2.   

    options属性中的dgRowSelect=true;
      

  3.   

    Fcolor:Tcolor;DataSourceDataChange:
      fcolor:=?//dbgridcolor;OnDrawColumnCell:
      with dbgrid.Canvas do
      begin
        if State in [gdSelected,gdfocused] then //到单元格时
        begin
          Brush.Style:=bsClear;   //画刷样式
          Brush.Color:=Fcolor;//clblue;    //画刷颜色
          FillRect(rect);         //填充制定筐
          Font.Color:=clwhite;
          TextOut(Rect.Left,Rect.Top,Column.Field.DisplayText); //画字段值
        end;
      end;