Delphi 按下dbnavigator delete按钮后,如何根据决定中止删除记录?

Delphi 按下dbnavigator delete按钮后,如何根据决定中止删除记录?,delphi,delphi-xe2,ttnavigator,anydac,Delphi,Delphi Xe2,Ttnavigator,Anydac,按下dbnavigatordelete按钮后,我是否可以根据决定中止删除记录? 我在行动前检查了事件 if Button = nbDelete then //check if not OK then Button := nbCancel; 但它不起作用。有什么帮助吗 我使用的是DelPhi XE2,任何DAC组件都使用了BeforeAction事件 procedure TForm1.DBNavigator1BeforeAction(Sender: TObject; Button: T

按下
dbnavigator
delete按钮后,我是否可以根据决定中止删除记录? 我在行动前检查了
事件

if Button = nbDelete then  
  //check if not OK then

Button := nbCancel;
但它不起作用。有什么帮助吗


我使用的是DelPhi XE2,任何DAC组件都使用了BeforeAction事件

procedure TForm1.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);
begin
  if Button = nbDelete then
  begin
    if MessageDlg('Confirm delete now?', mtConfirmation, [mbYes,mbNo], 0) = mrNo then
    begin
      Abort;
    end;
  end;
end;

您可以使用BeforeDelete事件:

procedure Tdm.MyDataSetBeforeDelete(DataSet: TDataSet);
begin
  if SomeCondition then
  begin
    ShowMessage('Sorry, you can not delete this record.');
    Abort;
  end;
end;

选择DBNavigator,然后在选项内的对象检查器上将NoConfigrmDelete设置为“false”