想选中一条记录,在表格第一列打勾

解决方案 »

  1.   

    可以用第三方控件EHLIB或InforPower.也可是用下面的方法﹕
    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;
      

  2.   

    用第三方控件tms,你可以发现你对表格的一切想象,都很容易实现
      

  3.   

    告訴你一個好的方法: 雙擊你DBGrid對應的DataSet,跳出一個加入fields的對話框,你點右鍵,new field,加入Data字段,名字為Selected.
    在FormShow里加入代碼:
    with wwDBGrid1 do
      begin
        SetControlType('Selected', fctCheckBox, 'True;False');
        EditControlOptions:=[ecoCheckboxSingleClick,ecoSearchOwnerForm];
      end;
    Ok!!
      

  4.   

    用listview
    将它的样式设置为表格样子的在设置它的属性checkboxes  为true就可以了