Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Отмена изменений при смене записи в DataSet


Автор: Cinemaizer[Олег] 9.12.2010, 00:53
Есть Grid, "Главный DataSet" и несколько dblookupcombobox, завязанных на него и мелкие таблицы-справочники. Если меняем какое то значение в в любом дблукапкомбобоксе, в датасете соответственно происходят изменения, грид это показывает. В общем, тут понятно и нормально. Вопрос в следующем: если сменить запись (просто нажав мышью в гриде, к примеру) когда ДатаСет находится в режиме редактирования, то в предыдущей записи автоматически значения (измененных) полей сохраняются. А хотелось бы чтобы в этом случае происходила отмена изменений. Возможно ли сделать эту и отмену и как? 
Вставка ГлавныйDataSet.Cancel на событие AfterScroll ничего не дает....

Автор: Cinemaizer[Олег] 9.12.2010, 01:11
забыл добавить: использую fibplus 6.99 + firebird 2.1 + d7

Автор: Deniz 9.12.2010, 06:37
Цитата(Cinemaizer(Олег) @  9.12.2010,  02:53 Найти цитируемый пост)
Вставка ГлавныйDataSet.Cancel на событие AfterScroll ничего не дает....
а если BeforeScroll?

Автор: Alexeis 9.12.2010, 09:44
Цитата(Cinemaizer[Олег)
, 9.12.2010,  01:53, post2262854] А хотелось бы чтобы в этом случае происходила отмена изменений. Возможно ли сделать эту и отмену и как? 

  У дадтасета есть свойство AutoCommint если его не включать, то изменения хоть и остаются видимыми, то их все равно можно отменить сделав откат транзакции и новое подключение.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)