通过读取数据库把表中的记录以列表的形式显示出来,有点像dbgrid那样,但是我想在每行前面加一个checkbox列,dbgrid控件可以实现这样的效果吗,怎么实现,如果不行,还有哪个控件可以实现这样的效果

解决方案 »

  1.   

    用DevExpress Grid吧,不仅可以用CheckBox,还有很多可用呢
    www.51delphi.com有下
      

  2.   

    procedure TDbaForm.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
      if (gdFocused in State) and
        (Column.Field = Table1Senior) then
      begin
        DBCheckBox1.SetBounds (
          Rect.Left + DBGrid1.Left + 1,
          Rect.Top + DBGrid1.Top + 1,
          Rect.Right - Rect.Left,
          Rect.Bottom - Rect.Top);
      end;
    end;
    procedure TDbaForm.DBGrid1ColEnter(Sender: TObject);
    begin
      if DBGrid1.Columns [DBGrid1.SelectedIndex].
          Field = Table1Senior then
        DBCheckBox1.Visible := True
      else
        DBCheckBox1.Visible := False;
    end;procedure TDbaForm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
    begin
      if DBCheckBox1.Visible and (Ord (Key) > 31) then
      begin
        Key := #0;
        Table1.Edit;
        DBCheckBox1.Checked := not
          DBCheckBox1.Checked;
        DBCheckBox1.Field.AsBoolean :=
          DBCheckBox1.Checked;
      end;
    end;
      

  3.   

    是你需要那个字段需要加CheckBox