Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
6-1139092207
Galiaf
2006-02-05 01:30
2006.06.11
Узнать о кампьютерах в сети. Sockets.


15-1148073512
Imbac
2006-05-20 01:18
2006.06.11
php-fusion


2-1148676060
Mr tray
2006-05-27 00:41
2006.06.11
определить, были ли вызваны reset или rewrite


15-1147689437
GAnS_666
2006-05-15 14:37
2006.06.11
компонент TLEDDisplay


1-1146820596
Delphi5.01
2006-05-05 13:16
2006.06.11
Получение handle-а активного компонента (вне рабочей формы)




   Наверх