Как я могу прервать удаление записи на основе решений после нажатия кнопки удаления dbnavigator?

могу ли я прервать удаление записи на основе решений после удалить нажал? Я проверил beforeAction событие

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

Button := nbCancel;

но это не работает. Любой Помочь?

Я использую DelPhi XE2, anyDac Components

3 ответов


использовать 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, затем на инспекторе объектов внутри опций установите noConfirmDelete в "false"