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