Главная страница
    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.02 c
4-1134664590
The_scorpion
2005-12-15 19:36
2006.03.12
Функция CreateBitmap


2-1140831170
49 Cent
2006-02-25 04:32
2006.03.12
Как недопустить текстовые символы в edit?


15-1140018843
XeON
2006-02-15 18:54
2006.03.12
Лицензия Delphi 6 personal


15-1140025765
Kerk
2006-02-15 20:49
2006.03.12
Night Watch (Nochnoi Dozor) - Comming Soon!


2-1140430400
Елизавета
2006-02-20 13:13
2006.03.12
CheckBox как столбец компонента TStringGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский