如何把DBGrid的网格边框从灰色变成红色?DBGrid1.FixedColor是不行的,它不是我想要的效果.

解决方案 »

  1.   

    重画吧.procedure Tform1.GridDrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
        if frmDM.ClientDataSetNum.RecNo mod 2 = 0 then
        (Sender as TDBGrid).Canvas.Brush.Color := $00C5D6D9 //定义背景颜色
        else
        (Sender as TDBGrid).Canvas.Brush.Color := $008396A0; //定义背景颜色    //定义网格线的颜色:
        Grid.DefaultDrawColumnCell(Rect,DataCol,Column,State);
        with (Sender as TDBGrid).Canvas do //画 cell 的边框
        begin
            Pen.Color := $00ff0000; //定义画笔颜色(蓝色)
            MoveTo(Rect.Left, Rect.Bottom); //画笔定位
            LineTo(Rect.Right, Rect.Bottom); //画蓝色的横线
            Pen.Color := $0000ff00; //定义画笔颜色(绿色)
            MoveTo(Rect.Right, Rect.Top); //画笔定位
            LineTo(Rect.Right, Rect.Bottom); //画绿色的竖线
        end;
    end;
      

  2.   

    "frmDM.ClientDataSetNum.RecNo" 是什么?
      

  3.   

    “frmDM”指的DBGRID吗?还是其他的控件
      

  4.   

    唉,对不起,这是我程序里的一段代码,我不知道你看不懂.frmDM.ClientDataSetNum.RecNofrmDM:是一个数据模块窗体,简单的说是窗体.ClientDatasetNum:是一个记录集.frmDM.ClientDataSetNum.RecNo:指DBGRID相关的那个记录集的某条记录的记录号.
      

  5.   

    “ClientDatasetNum”你是用的QUERY之类来做的数据集吗?
    “frmDM.ClientDataSetNum.RecNo:指DBGRID相关的那个记录集的某条记录的记录号.”
      我还是不明白,麻烦再详细解释一下!