mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 09:59:20 +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
|
protected
|
||||||
function GetFieldCheckState: TCheckBoxState; virtual;
|
function GetFieldCheckState: TCheckBoxState; virtual;
|
||||||
procedure DataChange(Sender: TObject); virtual;
|
procedure DataChange(Sender: TObject); virtual;
|
||||||
|
procedure DoOnChange; override;
|
||||||
procedure UpdateData(Sender: TObject); virtual;
|
procedure UpdateData(Sender: TObject); virtual;
|
||||||
procedure FocusRequest(Sender: TObject); virtual;
|
procedure FocusRequest(Sender: TObject); virtual;
|
||||||
procedure Notification(AComponent: TComponent;
|
procedure Notification(AComponent: TComponent;
|
||||||
@ -605,7 +606,6 @@ Type
|
|||||||
public
|
public
|
||||||
constructor Create(TheOwner: TComponent); override;
|
constructor Create(TheOwner: TComponent); override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
procedure EditingDone; override;
|
|
||||||
property Checked;
|
property Checked;
|
||||||
property Field: TField read GetField;
|
property Field: TField read GetField;
|
||||||
property State;
|
property State;
|
||||||
|
@ -97,6 +97,16 @@ begin
|
|||||||
State:=GetFieldCheckState;
|
State:=GetFieldCheckState;
|
||||||
end;
|
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);
|
procedure TDBCheckBox.UpdateData(Sender: TObject);
|
||||||
var
|
var
|
||||||
NewFieldText: string;
|
NewFieldText: string;
|
||||||
@ -140,16 +150,6 @@ begin
|
|||||||
DataChange(Self);
|
DataChange(Self);
|
||||||
end;
|
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);
|
procedure TDBCheckBox.CMGetDataLink(var Message: TLMessage);
|
||||||
begin
|
begin
|
||||||
Message.Result := PtrUInt(FDataLink);
|
Message.Result := PtrUInt(FDataLink);
|
||||||
|
Loading…
Reference in New Issue
Block a user