ZoranM
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый день, всем. Я столкнулся со сле дующей проблемой: использую cxScheduler и cxScheulerStorage из devExpress 6.22. У cxScheulerStorage на событиях Insert, Udsate, Deleted висят обработчики. 1. При добавлении новых событий программно, они не отображаются в шедулере вообще, хотя ошибок не выдает. Ставлю эти свойства в НИЛ, добавляю события, возвращаю обработчики - все работает. в версии компонента 1.2 этот код работал нормально. С версии 1.3. уже не работает. Но это пол беды. 2. При редактирвании событий программно данные на экране не меняются. Перебрал все методы, которые могут их обновлять - ничего не получается. Но обработчики работают и данные сохраняются в БД. Если их потом каждый раз грузить программно, то ваыдается эксепшен на обращение к несуществующему указателю. Собственно вся проблема сводится к обновлению данных. Почему внесенные изменения в Storage не отображаются в шедулере. Обработчик события: Код: rocedure TARDSchedulerFrame.cxSchedulerStorageEventModified(Sender: TObject; AEvent: TcxSchedulerEvent; var AHandled: Boolean); begin inherited; if IsRefresh then begin AHandled := True; Exit; end; {} if IsInsert then AHandled := True else begin try UpdateEventInDB(AEvent, 'U'); AHandled := True; except { error message } AHandled := False; cxScheduler.FullRefresh; end; end; // RefreshDefault; - если это добавить, то данные обновляются но вылетает ошибка { - если это то все вроде работает, но думаю то не лучшее решение Придется все свойтсва переносить ручками. if cxScheduler.SelectedEventCount = 1 then begin cxScheduler.SelectedEvents[0].Start := AEvent.Start; cxScheduler.SelectedEvents[0].Finish := AEvent.Finish; end; cxScheduler.Repaint; //Кстати перерисовка идет все равно только после клика по компоненту. Хотя это наверно можно решить... } end; | Скорее всего есть какоето свойство, позволяющее синхпронизипровать данные. Никто не сталкивался с подобным? Кстати этот код на версии 1.2. работаает без всяких проблем. Но в пакет 6.22 входит из старых версия 1.3, а она уже работает с ошибкой. Заранее всем признателен. |