Главная страница
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.05 c
1-1146691206
Тайфэн
2006-05-04 01:20
2006.06.11
нужен алгоритм сбора пятнашек 3 на 3 =) перебор с возвратом


10-1120418056
Michael5
2005-07-03 23:14
2006.06.11
Как бороться с сообщением, что в буфере обмена находится слишком


2-1148808107
antonn
2006-05-28 13:21
2006.06.11
Курсор и Хинт формы


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


15-1148013686
Карелин Артем
2006-05-19 08:41
2006.06.11
Слово Доллар хуже мата!