Главная страница
    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.015 c
15-1139902769
kaZaNoVa
2006-02-14 10:39
2006.03.12
Скриншот Полноокранной DOS-программы


2-1140974454
zxcv
2006-02-26 20:20
2006.03.12
указатели


15-1139931163
Knight
2006-02-14 18:32
2006.03.12
Что делать с трояном?


2-1140805955
sairus
2006-02-24 21:32
2006.03.12
Работа с Tclient/serverSocket


2-1140448453
Spieler
2006-02-20 18:14
2006.03.12
Сообщения Windows





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