我想在DBGrid中(已显示查询结果),当单击查询结果中的任何一行时该行变色,着重显示被选择的行,(是要一行都变色不是被选择的单元格)

解决方案 »

  1.   

    Options :=Options+ [dgRowSelect]
    Options :=Options-[dgRowSelect]
      

  2.   

    改变背景颜色:
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
      Defalt_Color:TColor;
    begin
      Defalt_Color := DBGrid1.Canvas.Brush.Color;
      if ADOQuery1.FieldByName('fparentid').AsInteger=0 then
      begin
        DBGrid1.Canvas.Brush.Color:=clRed;
        DBGrid1.DefaultDrawColumnCell(rect,datacol,Column,state);
      end;
      DBGrid1.Canvas.Brush.Color:=Defalt_Color;
    end;上面的代码是根据条件改变颜色,如果你想要惦记的时候改变颜色,改一下就行了
      

  3.   

    Options := [dgRowSelect]
    在属性里面就可以改