Главная страница
    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.48 MB
Время: 0.034 c
4-1104145987
tradakad
2004-12-27 14:13
2005.02.20
как назначить иконку для итема PopupMenu при его создании


14-1106903067
stud
2005-01-28 12:04
2005.02.20
борьба с виндой 2000


14-1107241627
Franzy
2005-02-01 10:07
2005.02.20
Русификация win2000en


14-1107272287
PIF
2005-02-01 18:38
2005.02.20
помогите разобраться с NetBios


1-1107261067
NightStranger
2005-02-01 15:31
2005.02.20
Что за тип TPointer?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский