那你就自己在onCloseQuery事件里自己弹出窗体来做判断
procedure TVenderForm.BizFormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:= true;
if (DataSetBroker.DataSet.State in [TDataSetState.dsInsert,TdataSetState.dsEdit]) or
DataSetBroker.DataSet.UpdatesPending then
begin
if jsdialogs.ConfirmBox('数据尚未保存,保存吗?','提示信息',1) then
begin
if DataSetBroker.DataSet.State in [TDataSetState.dsInsert,TdataSetState.dsEdit] then
DataSetBroker.DataSet.Post;
DataSetBroker.DataSet.ApplyUpdates;
end
else
DataSetBroker.DataSet.Cancel;
end;
end; |