Главная страница
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.49 MB
Время: 0.026 c
14-1108721191
Vasya.ru
2005-02-18 13:06
2005.03.13
конвертер из HTML в doc, rtf


3-1108117375
AlexandrKu
2005-02-11 13:22
2005.03.13
Запрос на выборку


3-1108107634
Mishenka
2005-02-11 10:40
2005.03.13
В поле какого типа лучше всего загружать Gif файлы?


1-1109626493
dmk
2005-03-01 00:34
2005.03.13
Как определить длину текста в Clipboard?


14-1109095323
Knight
2005-02-22 21:02
2005.03.13
Кто как подразделяет дистрибутивы?