Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Отменить сохранение редактируемой записи   Найти похожие ветки 

 
neat   (2006-01-19 08:09) [0]

Здравствуйте все!
Есть DataSet и DBGrid. Если Table.State in [dsEdit, dsInsert] и в этот момент щёлкнуть мыщью на другой строке DBGrid запись автоматически сохраняется. Как это отменить? Пробовал обработать OnCellClick

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
     if Table.State in [dsEdit, dsInsert] then Table.Cancel;
end;

- не получается - видимо Post происходит раньше. BerorePost тоже не проходит, запись всё равно сохраняется.


 
Sergey13 ©   (2006-01-19 09:02) [1]

BeroreScroll?


 
Vemer ©   (2006-01-19 09:21) [2]

Dataset.CacheUpdate := True;
Dataset.CancelUpdate / Dataset.ApplyUpdate by need.


 
neat   (2006-01-19 09:46) [3]

Извиняюсь, не сказал сразу, что работаю с ADO. Там нет у Table свойства CachedUpdates. Попробовал использовать CancelUpdates. Как-то странно... Изменения не сохраняются, но почему-то эта строка добавляется в конце таблицы ко всем имеющимся.

procedure TForm1.T1BeforePost(DataSet: TDataSet);
begin
   if T1.State = dsEdit then
   T1.CancelUpdates;
end;

Но здесь ещё подсказали вариант.

procedure TForm1.T1BeforePost(DataSet: TDataSet);
begin
   if T1.State = dsEdit then begin
       T1.Cancel;
       Abort;
   end;
end;

Работает. Спасибо всем.


 
Desdechado ©   (2006-01-19 11:19) [4]

> у Table свойства CachedUpdates
так не работай с Table, это гадость
работай с кэшированными датасетами, где пользователь может отменить изменения как в отдельных записях, так и в выборке в целом, не сохраняясь


 
sniknik ©   (2006-01-19 11:41) [5]

> что работаю с ADO. Там нет у Table свойства CachedUpdates.
там есть "аналог". не по таким же процедурам а по смыслу, начни с F1 по ltBatchOptimistic.


 
Рустем ©   (2006-01-19 13:06) [6]


> neat

UpdateBatch, CancelBatch...



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.049 c
15-1140068793
Ega23
2006-02-16 08:46
2006.03.12
С Днём рождения! 16 февраля


4-1135254028
ArtemESC
2005-12-22 15:20
2006.03.12
Как выйти в меню выбора пользователя?


2-1140677728
Новочеркасский Волк
2006-02-23 09:55
2006.03.12
Перехват клавиш сервера., {TClientSocket. TServerSocket}


15-1139834037
X9
2006-02-13 15:33
2006.03.12
Помогите с алгеброй


9-1111792617
Yegorchic
2005-03-26 02:16
2006.03.12
Русская документ по GLScene