Jump to content

Confirm delete of a record


Phxtecno

Recommended Posts

Hello,

I have a DbNavigator with Delete button enabled and Confirm Delete disabled, because I need a custom message on Delete.

 

So I have put this code in the onBeforeDelete event of the DataSet:

 

procedure TformCustomers.tabCompositionBeforeDelete(DataSet: TDataSet);
begin
   
// Ask confirm
    MessageDlg('Confirm Delete of item: '+ tabComposition.FieldByName('TABLECODE').AsString +' ?', mtConfirmation, mbYesNo,
        procedure(Sender: TComponent; Res: Integer)
        begin
          if Res <> mrYes then
             
// Annulla delete
              Abort;
        end
//procedure
 );//MessageDlg
end;

 

But the records get deleted before my answer...

Can you help ?

 

 

 

Link to comment
Share on other sites

Hi,

 

While, try:

procedure TMainForm.ClientDataSet1BeforeDelete(DataSet: TDataSet);
begin
  ClientDataSet1.BeforeDelete := nil;
  MessageDlg('Confirm Delete of item:  ?', mtConfirmation, mbYesNo,
        procedure(Sender: TComponent; Res: Integer)
        begin
          if Res = mrYes then
          begin
            ClientDataSet1.Delete;
          end;
          ClientDataSet1.BeforeDelete := ClientDataSet1BeforeDelete;
        end
 );
 Abort;
end;

Best regards.

Link to comment
Share on other sites

  • 4 years later...
  • Administrators

This one is more clean:

 

procedure TMainForm.UniDBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);
begin
  if Button = nbDelete then
  begin
    MessageDlg('Confirm?', mtConfirmation, mbYesNoCancel,
      procedure(Sender: TComponent; Ans: Integer)
      begin
        if Ans = mrYes then
        begin
          DataSource1.DataSet.Delete;
        end;
      end
    );
    Abort;
  end;
end;

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...