Bug Report T192692
Visible to All Users

TcxSchedulerDBStorage - Reminders for events stored in the underlying dataset are not displayed on an application startup if the storage is not linked to a scheduler control

created 10 years ago

Hello,

After updating my components to 14.1.4, my SchedulerDBStorage.Reminders is not working properly.  SchedulerDBStorage.Reminders.HasReminders always returns FALSE when I have active reminders in the dataset.  I cannot get the ReminderWindow to appear.

Help -

I have users screaming at us about this…

Thanks

Greg

Show previous comments (4)

    Paulo,
    Thanks for the new project.  I've attached a modified version of it back…   Here's what I found:  You're creating your event using a TcxSchedulerEvent.Create method.  In my application, we create many events in the dataset.
    I copied your created event into YOUR memdataset as a permanent record.  That reminder will NOT appear in the reminder window UNLESS we hook up the scheduler component.
    Hope this helps…
    Thanks again -
    Greg

    DevExpress Support Team 10 years ago

      Thanks a lot for your modified project. I have reproduced this behavior and forwarded this ticket to our developers for research.

      VL VL
      Vladimir Lapshin 10 years ago

        Faced the same problem. I found simple workaround. To force triggering remindes without TScheduler component we need call GetEvents method (see sample below) after reopening data set.

           MyStorage: TcxSchedulerDBStorage;

         private
           FEventList: TcxSchedulerCachedEventList;

        procedure TMyReminders.RemindersDataSetAfterOpen(DataSet: TDataSet);
        var
         I: integer;
         AStart, AFinish: TDateTime;
        begin
           // Initialize dates - I just take min Start and max Finish from MyStorage.Events
           AStart := cxMaxDate;
           AFinish := Date + 30;
           for I := 0 to MyStorage.EventCount - 1 do
           begin
             if MyStorage.Events[I].Start < AStart then
               AStart := Storage.Events[I].Start;
             if MyStorage.Events[I].Finish > AFinish then
               AFinish := Storage.Events[I].Finish;
           end;
           // next call makes remindes wirking
           MyStorage.GetEvents(FEventList,AStart,AFinish);
        end;

        Answers approved by DevExpress Support

        created 10 years ago

        We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

        Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

          Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

          Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.