Вниз
Скачать: 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.025 c
15-1147670570
Ega23
2006-05-15 09:22
2006.06.11
С Днём рождения! 15 мая


2-1148281922
deltav1
2006-05-22 11:12
2006.06.11
Время


15-1147820909
iZEN
2006-05-17 03:08
2006.06.11
Кто-нибудь пробовал десктопную FreeBSD?


1-1146575623
Creative
2006-05-02 17:13
2006.06.11
многочисленные Children


15-1147625369
Сумашедший художник
2006-05-14 20:49
2006.06.11
А вы говорите Фотошоп...




   Наверх