Форум: "Базы";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
ВнизКак отменить Post при переходе на другую строку? Найти похожие ветки
← →
Бульбаш (2005-01-18 17:20) [0]Ситуация следующая. Возникла необходимость редактировать данные в гриде (QuantumGrid). Ранее пользовал редактирование записи в отдельном окне. К гриду цепляю вьюху. Необходимо сохранять изменения только при нажатии опред.клавиши, а Post дается как только уйдешь с редактируемой записи. Как этого избежать?
← →
Соловьев © (2005-01-18 17:21) [1]не редактировать в гриде
← →
Ega23 © (2005-01-18 17:23) [2]К гриду цепляю вьюху.
Цепляй TClientDataSet
← →
Erik1 © (2005-01-18 17:29) [3]Если есть CachedUpdates то устанавливай в True, для настоящей записи в базу сделай ApplyUpdates.
← →
Бульбаш (2005-01-18 17:32) [4]Можно подробнее? Использую ODAC. Коллеги, пишущие на оракловском девелопере грят что у них таких проблем с блоком данных нет, не верится что нет решения в делфях
← →
Ega23 © (2005-01-18 17:35) [5]К гриду цепляю вьюху.
Что это за "вьюха"? TTable, TQuery, что-то другое?
← →
msguns © (2005-01-18 18:12) [6]> Юзаем нафигатор ?
← →
Johnmen © (2005-01-18 18:29) [7]>Бульбаш (18.01.05 17:20)
Заводишь флажок (boolean), который выставляешь/анализируешь, чтобы в BeforePost делать или нет Abort.
← →
Бульбаш (2005-01-19 09:39) [8]Пришел на работу, загрузил инет и вижу что нужны уточнения:
>Что это за "вьюха"? TTable, TQuery, что-то другое?
OraTable таблицей указываю оракловское редактируемое представление.
> Юзаем нафигатор ?
нет
>Заводишь флажок (boolean), который выставляешь/анализируешь, чтобы в BeforePost делать или нет Abort.
Т.е. при редактировании флаг выставлять на Abort, а при нажатии кнопки на Post?
← →
ЮЮ © (2005-01-19 09:58) [9]А не проще в BeforeScroll сделать Сancel, если DataSet находится в режиме редактирования/вставки ?
← →
Erik1 © (2005-01-19 10:04) [10]to Бульбаш
А чем тебе ненравится [3] у нес таким образом вся система построена! Понятно, что для отмены надо использовать CommitUpdates; думал ты сам догадаешся. Если хочется сднлать все автоматически напиши свой клас на основе TList и загружай в него все DataSet после Load. Только отсортировать незабудь, чтобы мастер был выше детаил таблицы.
← →
Johnmen © (2005-01-19 10:05) [11]>ЮЮ © (19.01.05 09:58) [9]
Нет, не проще... Т.к. на этот момент он уже броузе...:)
← →
Johnmen © (2005-01-19 10:16) [12]>Erik1 © (19.01.05 10:04) [10]
Если бы спросил у меня, то лично мне не нравится то, что активно захватываем память под кеш. Хотя вполне жизненный способ...
← →
Erik1 © (2005-01-19 10:58) [13]to Johnmen
Памяти сейчас много, да и сколько мы под кеш захватим ну максимум 1Mb. По современым меркам это не память.
← →
Бульбаш (2005-01-19 11:58) [14]Я тут почитал хелпик, опишу что понял, а вы поправте по возможности.
1. CachedUpdates=True;(вносим изменения только в кэш)
2. ApplyUpdates и Commit для сохранения изменений и CancelUpdate
для отмены
3.CommitUpdates для очистки кэша.
В связи с этим еще пара вопросов. Насколько я понял можно использовать только редактируемый Dataset OraTable и монопольного захвата записи не будет, другой пользователь сможет также загрузить этот же модуль для редактирования? И не могли бы вы прояснить суть строки их хэлпа: Альтернативой кэширования при работе в сети является использование клиентского набора данных и компонента - провайдера.
← →
Erik1 © (2005-01-19 12:05) [15]Тут все просто, предлагается использовать связку TClientDataSet и TProvider + TOraStoredProc. TOraStoredProc можно заменить на любой DataSet.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.038 c