在DBGrid中,单击单元格选择整行,双击又可编辑单元格

Posted 癫狂编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在DBGrid中,单击单元格选择整行,双击又可编辑单元格相关的知识,希望对你有一定的参考价值。

在设计过程中,有时候数据较大量,field 较多的时候,只是点击单元格可能会对某个field的数据误操作(如数据错行),为此才会想到这个问题,解决办法如下:点击单元格就改当前行颜色。

首先DBGRID的属性做好下设置(其实也是DBGRID默认的属性)

DBGrid1->Options->dgEditing=True
DBGrid1->Options->dgRowSelect=False


一、先在implementation前做如下定义
type
  TMyDBGrid=class(TDBGrid);


二、在DBGrid的OnDrawColumnCell操作
procedure Tfrm_hetong.DBGrid2DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  with TMyDBGrid(Sender) do
    begin
      if DataLink.ActiveRecord=Row-1 then
        begin
          Canvas.Font.Color:=clWhite;
          Canvas.Brush.Color:=$00800040;
        end
      else
        begin
          Canvas.Brush.Color:=Color;
          Canvas.Font.Color:=Font.Color;
        end;
      DefaultDrawColumnCell(Rect,DataCol,Column,State);
    end;
end;































以上是关于在DBGrid中,单击单元格选择整行,双击又可编辑单元格的主要内容,如果未能解决你的问题,请参考以下文章

Delphi中点击DBGrid中某一单元格时,后面出现个按钮可以点进去,出现一个新窗体,进行选择。

怎样实现在DBGrid中双击选择整行,并且可以多选?谢谢!!

无法编辑我的 DataGrid WPF Framework 4.5 的单元格

XtraGrid 整行突出显示,除了单击的单元格

如何为 DBGrid 特殊单元格着色?

delphi dbgrid