Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: CL | DM;

Вниз

Сохранение текущего значения при работе с кэшем   Найти похожие ветки 

 
Бульбаш   (2005-01-28 09:56) [0]

При использовании кэширования не сохраняются данные (при applyupdates)если не покинуть текущую строку. Я пока выхожу из ситуации через Next перед сохранением. Может существует более изящное решение?


 
Sergey13 ©   (2005-01-28 10:01) [1]

Так может Post вместо Next?


 
Бульбаш   (2005-01-28 10:07) [2]

А Post в этом случае применяется к кэшированным данным?


 
Sergey13 ©   (2005-01-28 10:12) [3]

А Next применяется? 8-)
Просто Next неявно вызывает Post который тебе и нужен повидимому.


 
Бульбаш   (2005-01-28 10:36) [4]

Действительно :)


 
Бульбаш   (2005-02-11 16:11) [5]

Пришлось вернуться к этой проблеме. Чуть подробнее: Пользователь редактирует запись в гриде: например ставит птичку в chekbox или редактирует текстовое поле и сразу давит на кнопку сохранить (по ней же идет ApplyUpdate и т.д.),не переходя на другое поле и не нажимая enter. После переоткрытия набора данных обновления поля не происходит. Пробую принудительный пост:
if DM.Org.Modified then DM.Org.Post; тот же результат... Если же использовать навигатор - нажатием его Post-а сохраняется.(но навигатор здесь неприемлем). Подскажите как решить проблемку плиз


 
Val ©   (2005-02-11 16:24) [6]

пост OnExit сетки, если открыт датасет.


 
Val ©   (2005-02-11 16:28) [7]

Кcтати, for info, при использовании кеша, м.б. недостаточно одного Modified, стоит анализировать и UpdatesPending:
if DataSet.Modified or TBDEDataSet(DataSet).UpdatesPending...


 
Бульбаш   (2005-02-11 16:43) [8]

И так не работает :( а updatesPending я анализирую в обработчике нажатия кнопки...


 
Val ©   (2005-02-11 16:45) [9]

не работает что? нет Post? нет OnExit?


 
stud ©   (2005-02-11 16:53) [10]

так может state датасета анализировать? если в редактировании или вставке постить данные.


 
Бульбаш   (2005-02-11 17:05) [11]

Т.е.получается что если не вышел из поля или не нажал Enter изменения не фиксируются. Если принудительно просто дать Post - вылетает по ORA-01086 (была сделана попытка отката к savepoint, которая не установлена). Но если нажать сохранить в навигаторе - то все фиксируется - знать бы как там все это реализовано?


 
Desdechado ©   (2005-02-11 17:42) [12]

if( dataset.state in [dsEdit, dsInsert] ) then
dataset.post;

кстати, как это у тебя на post сразу оракл ругается? ты ж вроде используешь кэширование?


 
Бульбаш   (2005-02-11 17:54) [13]

Такой обработчик я уже пробовал:
if DM.Org.State in [dsEdit, dsInsert] then DM.Org.Post;
DM.Org.Close; DM.Org.Open; А на BeforeClose датасета вешаю обработчик разноски кэшированных данных в базу. Т.е. получается когда пост вызывается неявно (переходом на другую строку) или нажмешь enter после изменения все OK. А выдача поста программно не проходит :(


 
Desdechado ©   (2005-02-11 18:36) [14]

почему не проходит? только потому, что ты его в комбинации с Close использушь? так разнеси...



Страницы: 1 вся ветка

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.052 c
14-1109158819
olookin
2005-02-23 14:40
2005.03.13
Мелодия (музыка) из рекламы про ТонкоМото


1-1109406098
Zapekank0
2005-02-26 11:21
2005.03.13
Запуск одной и той же проги несколько раз


1-1109620453
DelphiNoK
2005-02-28 22:54
2005.03.13
Разрешение экрана


14-1109105043
olookin
2005-02-22 23:44
2005.03.13
Пункт меню в Outlook...


1-1109366217
ser35
2005-02-26 00:16
2005.03.13
Как сделать расчет?