我想在TDBGrid中建立一个DBCheckBox控件,但是发现该控件不能被使用,具体代码是:constructor TDBMyGrid.Create(AOwner:TComponent);//TDBMyGrid是继承的一个自定义类
begin
inherited;
ControlStyle:=[csAcceptsControls]+ControlStyle;
FDBCheckBox:=TDBCheckBox.Create(AOwner); //FDBCheckBox是一个TDBCheckBox对象
with FDBCheckBox do begin
Visible:=False;
Parent:=Self;//如果这里是Parent:=TWinControl(AOwner)就可以了
Left:=10;
Top:=30;
end;
end;然后在检查列是否是DataType=ftBoolean时显示该控件,并设置:
FDBCheckBox:=Self.DataSource;
FDBCheckBox:=Self.SelectedField.FieldName;
FDBCheckBox.ReadOnly:=False;
FDBCheckBox.Show;
FDBCheckBox.SetFocus;此时这个FDBCheckBox能接收到焦点,但是无法改变DataSet的字段值,请高手帮忙!
begin
inherited;
ControlStyle:=[csAcceptsControls]+ControlStyle;
FDBCheckBox:=TDBCheckBox.Create(AOwner); //FDBCheckBox是一个TDBCheckBox对象
with FDBCheckBox do begin
Visible:=False;
Parent:=Self;//如果这里是Parent:=TWinControl(AOwner)就可以了
Left:=10;
Top:=30;
end;
end;然后在检查列是否是DataType=ftBoolean时显示该控件,并设置:
FDBCheckBox:=Self.DataSource;
FDBCheckBox:=Self.SelectedField.FieldName;
FDBCheckBox.ReadOnly:=False;
FDBCheckBox.Show;
FDBCheckBox.SetFocus;此时这个FDBCheckBox能接收到焦点,但是无法改变DataSet的字段值,请高手帮忙!
if DBGrid1.SelectedIndex = 1 then
begin
if State.Contains(gdFocused) = true then
begn
ComboBox1.Visible := False;
ComboBox1.Left := Rect.Left + DBGrid1.Left + 1;
ComboBox1.Top := Rect.Top + DBGrid1.Top + 1;
ComboBox1.Width = Rect.Right - Rect.Left;
ComboBox1.Height := Rect.Bottom - Rect.Top;
ComboBox1.>Visible := True;
end;
end
else
begin
ComboBox1.Visible := False;
end