Шаг 10.4 - Создание процедуры удаления объекта из базы данных.
Дважды щелкните на компоненте - am (TActionManager) формы fmPCFindDetails, на экран загрузится редактор менеджера действий (см. рис. 10.2). Дважды щелкните на действии DelObj (Удалить), будет создана процедура действия DelObjExecute. Введите в тело процедуры следующие строки:
procedure TfmPCFindDetails.DelObjExecute(Sender: TObject);
begin
inherited;
Self.vlftv.DeleteBDObject;
// удалить выделенный в таблице объект
end;
Скомпилируйте приложение, загрузите окно поиска деталей в базе данных (см. Урок 8), нажмите на кнопку сквозного поиска деталей в базе данных, затем встаньте на любую строку и правой кнопкой мыши вызлвите контекстное меню, выберите пункт Удалить, как показано на рисунке 10.4.
Рис. 10.4.
После нажатия на пункт меню Удалить, на экран будет загружено системное предупреждение перед удалением объекта, как указано на рисунке ниже:
Рис. 10.5
Если пользователь подтвердит свои намерения нажатием на кнопку Да, на экран будет загружен диалог выбора типа операции удаления, как показано на рисунке ниже:
Рис. 10.6
При вызове операции удаления объекта в базе данных в компоненте TVLFindTableView предлагаются только следующие варианты удаления (в отличии от аналогичной операции в компоненте TVLTableView - см. Урок 6 Шаг 6.8):
- Удалить объект из всех составов в корзину - при этом все родительские связи с другими объектами удаляются, дочерние связи с другими объектами остаются без изменений, а к ключевому атрибуту добавляется префикс RECYCLE_ и объект сохраняется в базе данных, предыдущий объект с ключевым атрибутом равным вновь созданному удаляется из базы данных безвозвратно;
- Удалить объект из базы данных - при этом происходит безвозвратное удаление объекта, пользователю необходимо осторожно пользоваться данной возможностью, т.к. восстановить объект уже не будет никакой возможности.
Проверьте как работают оба варианта... Далее...