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

Могу ли я отменить удаление записи на основе решений после 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".

Другие вопросы по тегам