MotlawaTech:Funkcjonalność "kosza" w kartotece
Z Motława
Tabela w bazie powinna posiadać kolumnę - znacznik usunięcia oraz kolumnę - znacznik czasu edycji; jeśli ich nie posiada, to należy je dodać:
add `localtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, add deleted integer default 0;
pole typu timestamp powinno zostać dodane do CDSa jako TSQLTimeStampField - definicja w DFM:
object cdslocaltime: TSQLTimeStampField FieldName = 'localtime' ProviderFlags = [] Visible = False end
Nie ma potrzeby dodawania do CDSa pola - znacznika usunięcia.
W shellu przeglądarki należy zdefiniować property DeletedFieldName oraz MaxTimeFieldName i podając w/w pola tabeli np.
shl.DeletedFieldName := 'deleted'; shl.MaxTimeFieldName := 'localtime';
W oknie FDBC przeglądarki w akcji usunięcia rekordu zamiast
DBPlaces.GUI_OperExecute_Handle_And_Editor(null, hrtExistDelete, 0);