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

Вниз

Непонятній єффект при вводе в DBGRID   Найти похожие ветки 

 
Rubey   (2006-05-23 08:09) [0]

Уважаемые  знатоки.  Для  ввода  и  изменения  через  DBGRID пользуюсь  следующим  кодом

procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
if Form1.DBGrid1.DataSource.DataSet.State in [dsinsert,dsEdit] then
begin
if MessageDlg("Данные изменились,сохранить?",
mtWarning,[mbYes,mbNo],0) = mrNo
then
       Abort;
end;

Других  событий  не  обрабатываю.
Все  работает нормаьно,  но  присутствует  нежелательный  эффект,  который  не  могу  убрать. После  каждого  изменения  грида  при     передвижении  по  редактируемой  таблице  мышкой  или  клавиатурой  выскакивает  сообщение  о  сохранении  изменений. Вопрос в том,  как  сделать,  чтобы  это  сообщение  появлялось  только  при  выходе  из  редактирования по  нажатию  например  клавиши  Сохранить.

22.05.2006        Рубей.


 
Elen ©   (2006-05-23 08:24) [1]

Мне кажется дело в том, что как только ты переходиш на какую-то ячейку в DBGrid, если установлен Options.dgEditing=true, то компонент автоматически переходит в режим dsEdit вне зависимости ввел ли ты или изменил или оставил как есть


 
Elen ©   (2006-05-23 08:26) [2]

Мне кажется дело в том, что как только ты переходиш на какую-то ячейку в DBGrid, если установлен Options.dgEditing=true, то компонент автоматически переходит в режим dsEdit вне зависимости ввел ли ты или изменил или оставил как есть


 
MsGuns ©   (2006-05-23 09:29) [3]

Опции грида в студию


 
Sergey13 ©   (2006-05-23 09:40) [4]

А Form1.DBGrid1.DataSource.DataSet = TForm1.Table1? И почему по разному записано? В этой процедуре вообще достаточно
if DataSet.State in [dsinsert,dsEdit] then
написать.


 
ЮЮ ©   (2006-05-23 10:44) [5]

TDataSet.CashUpdates := true;

При этом все изменения будут выполняться и храниться в DataSet-е, а в БД изменяться не будут.

Для внесения изменений в БД следует затем применить ApplyUpdates, для отмены - CancelUpdates. Для проверки наличия изменений - UpdatesPending


 
Desdechado ©   (2006-05-23 12:38) [6]

возможно, еще надо
datasource.autoedit:=false;



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

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

Наверх




Память: 0.48 MB
Время: 0.03 c
2-1148282161
deltav1
2006-05-22 11:16
2006.06.11
TThread


1-1146481260
Vir
2006-05-01 15:01
2006.06.11
многопоточность и общие переменные


3-1144835299
RomanH
2006-04-12 13:48
2006.06.11
IBDataSet(удаление, добавление, редактирование)


5-1133435396
S_T_E_P_A_N___
2005-12-01 14:09
2006.06.11
Разработка экспертов


15-1146942869
dj0n
2006-05-06 23:14
2006.06.11
fastreport