【问题标题】:How can I abort deletion of record based on decisions after dbnavigator delete button pressed?如何在按下 dbnavigator 删除按钮后根据决定中止删除记录?
【发布时间】:2013-01-13 07:51:00
【问题描述】:

我可以根据dbnavigator 删除按钮按下后的决定中止删除记录吗? 我检查了beforeAction事件

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

Button := nbCancel;

但它不起作用。有什么帮助吗?

我正在使用DelPhi XE2, anyDac Components

【问题讨论】:

    标签: delphi delphi-xe2 ttnavigator anydac


    【解决方案1】:

    使用 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;
    

    【讨论】:

      【解决方案2】:

      您可以使用 BeforeDelete 事件:

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

      【讨论】:

        【解决方案3】:

        选择 DBNavigator,然后在 Options 内的 Object Inspector 上将 noConfirmDelete 设置为“false”

        【讨论】:

          猜你喜欢
          • 2016-10-24
          • 1970-01-01
          • 1970-01-01
          • 2021-04-22
          • 1970-01-01
          • 1970-01-01
          • 2021-11-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多