mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-10 18:36:25 +02:00
lcl: update record in DoOnChange instead of EditingDone. Fixes #19167
git-svn-id: trunk@30347 -
This commit is contained in:
parent
a42083fe74
commit
a494e8fc10
@ -597,6 +597,7 @@ Type
|
||||
protected
|
||||
function GetFieldCheckState: TCheckBoxState; virtual;
|
||||
procedure DataChange(Sender: TObject); virtual;
|
||||
procedure DoOnChange; override;
|
||||
procedure UpdateData(Sender: TObject); virtual;
|
||||
procedure FocusRequest(Sender: TObject); virtual;
|
||||
procedure Notification(AComponent: TComponent;
|
||||
@ -605,7 +606,6 @@ Type
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
procedure EditingDone; override;
|
||||
property Checked;
|
||||
property Field: TField read GetField;
|
||||
property State;
|
||||
|
@ -97,6 +97,16 @@ begin
|
||||
State:=GetFieldCheckState;
|
||||
end;
|
||||
|
||||
procedure TDBCheckBox.DoOnChange;
|
||||
begin
|
||||
if FDatalink.Edit then begin
|
||||
FDatalink.Modified;
|
||||
FDataLink.UpdateRecord;
|
||||
end else
|
||||
State:=GetFieldCheckState;
|
||||
inherited DoOnChange;
|
||||
end;
|
||||
|
||||
procedure TDBCheckBox.UpdateData(Sender: TObject);
|
||||
var
|
||||
NewFieldText: string;
|
||||
@ -140,16 +150,6 @@ begin
|
||||
DataChange(Self);
|
||||
end;
|
||||
|
||||
procedure TDBCheckBox.EditingDone;
|
||||
begin
|
||||
if FDatalink.Edit then begin
|
||||
FDatalink.Modified;
|
||||
FDataLink.UpdateRecord;
|
||||
end else
|
||||
State:=GetFieldCheckState;
|
||||
inherited EditingDone;
|
||||
end;
|
||||
|
||||
procedure TDBCheckBox.CMGetDataLink(var Message: TLMessage);
|
||||
begin
|
||||
Message.Result := PtrUInt(FDataLink);
|
||||
|
Loading…
Reference in New Issue
Block a user