将options的dgRowSelect设为True即可

解决方案 »

  1.   

    procedure Tck.BDBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
     var
     r:Trect;
      begin
      inherited;
     with BDBGrid do
       begin
         if  Dm.ADOQCKZLB.FieldByName('mr').Value=1 then    //这里是当mr字段值为1时,整行用红色显示.相反用白色显示。
         BEGIN
        Canvas.brush.Color :=clred;                                Canvas.Font.Color:=CLWhite;
          END else
          begin
              Canvas.brush.Color :=ClWhite;
              Canvas.Font.Color:=CLblack;
           end;                //如果是偶数行,DBGrid背景以浅灰色显示
        end;
      //  BDBGrid.DefaultDrawColumnCell(Rect,DataCol,Column,State);
        BDBGrid.Canvas.TextRect(Rect,rect.Left,rect.Top,COLUMN.Field.AsString);
    end;