Главная страница
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.041 c
2-1148307879
Бегин
2006-05-22 18:24
2006.06.11
Операции со строками в текстовом файле


15-1147724915
Суслик
2006-05-16 00:28
2006.06.11
Тип decimal в Delphi.


2-1148245086
Adolf
2006-05-22 00:58
2006.06.11
Срочно нужна помощь!


2-1148235400
Тимофеич
2006-05-21 22:16
2006.06.11
terminate


15-1147718818
learner
2006-05-15 22:46
2006.06.11
Win XP SP2 странно работает FireWall ( стандартный от XP )