DBGrid好像没有这种属性可以设置,恐怕你要通过编写OnDrawColumnCell响应函数,
通过其参数Rect自己来重画一次了;-)
可以在响应函数中这样写:
DBGrid1.Canvas.Brush.Color := co;//co即为你所需要的颜色
DBGrid1.Canvas.FrameRect(Rect);

解决方案 »

  1.   

    jzy,Thank u!    不过用你的方法,那么竖线和横线只能是相同的颜色了。我用下面的代码:
       
          ...
          oldcol := Canvas.Pen.Color;
          Canvas.Pen.Color := clred;  // RowLine color
          Canvas.Brush.Style := bsClear;
          Canvas.MoveTo(ARect.Left, ARect.Top);
          Canvas.LineTo(ARect.Right, ARect.Top);
          Canvas.Pen.Color := clblue;  // ColLine color
          Canvas.MoveTo(ARect.Left, ARect.Top);
          Canvas.LineTo(ARect.left, ARect.Bottom);
          Canvas.Pen.Color := oldcol;
          ...
     可以实现不同的颜色,不过总有点小问题,不知道可不可以解决?
      

  2.   

    代码如下:
        IF 条件 THEN  Dbgrid1.cancas.font.color:=clred; //
       dbgrid1.defaultdrawcolumcell(rect,datacol,colum,state);
              
      

  3.   

    to bpc:
    这只是改变字体颜色!to superdelphi:
    还有什么问题?
      

  4.   

    to jzy,勉强解决,谢谢你la!
      

  5.   

    在DBGrid的OPTION中,把纵线 横线都去掉,然后在OnDrawColumnCell中自己画线,Dbgrid.Canvas.Pen.Color = Color ,DBGrid.Canvas.Pen.Style = psSolid