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

Вниз

Как отменить 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.031 c
1-1107351594
Иноверец
2005-02-02 16:39
2005.02.20
Изменение свойств нескольких объектов


14-1107250545
Vaitek
2005-02-01 12:35
2005.02.20
Исходникик внутри DLL?


1-1107780689
hgd
2005-02-07 15:51
2005.02.20
Скажите а есть аналоги функци BitBlt


4-1104159113
n0name
2004-12-27 17:51
2005.02.20
Драйвер и обычный exe - в чём различия.


14-1107278045
Шишкин Илья
2005-02-01 20:14
2005.02.20
PocketPC