Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.013 c
4-1135083663
morik
2005-12-20 16:01
2006.03.12
SendMessage и Double


2-1140441372
John_Doe
2006-02-20 16:16
2006.03.12
Удаляет запись,но после выдает ошибку


2-1140364917
Alsan
2006-02-19 19:01
2006.03.12
TListView - Поиск ???


3-1135230595
vista
2005-12-22 08:49
2006.03.12
Удаленный доступ к серверу Oracle


15-1140066507
КаПиБаРа
2006-02-16 08:08
2006.03.12
Школа программирования





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский