Print Page | Close Window

CalendarEvnt.CustomProperties doesnt work

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Calendar
Forum Description: Topics Related to Codejock Calendar
Printed Date: 29 June 2022 at 3:16pm
Software Version: Web Wiz Forums 12.04 -

Topic: CalendarEvnt.CustomProperties doesnt work
Posted By: dajv
Subject: CalendarEvnt.CustomProperties doesnt work
Date Posted: 14 July 2005 at 4:51pm
(This was previously posted in the ActiveX Suite foruim but SuperMario suggested I post it here.)

The CalendarEvent.CustomProperties collection only seems to work when the event has been added via DataProvider.AddEvent. When an event is added on the calendar ("in place" event creation) I need to save it to the database. I have this code:

Private Sub xtmCalendar_EventAdded(ByVal EventID As Long)
    Dim CalEvent As XtremeCalendarControl.CalendarEvent
    Set CalEvent = xtmCalendar.DataProvider.GetEvent(EventID)
    If Len(CalEvent.CustomProperties("ID")) = 0 Then
        CalEvent.CustomProperties("ID") = 999
    End If
    MsgBox xtmCalendar.DataProvider.GetEvent(EventID).CustomProperties( "ID")

End Sub

Where 999 is assigned would normally be a call to a function to create the event (appointment) in the application database, returning the new id of the appointment.
The CustomProperties collection is updated for the CalEvent object but not for the object in the DataProvider. The last line shows a message box with the "Empty" value of CustomProperties("ID").

This means that Events that are added when the calendar control is initially set up (see below) have a CustomProperties("ID") value, but new events do not.

Here is a small project reproducing it: uploads/dajv/ -

Am I using the DataProvider incorrectly?

Here is the code snippet that sets up the calendar:



Do While Not rs.EOF
     Calendar_AddEvent Val(rs!ID), IIf(Len(NoNull(rs![Subject])) > 0, rs![Subject], "Untitled"), NoNull(rs![Notes]), rs![begin], rs![End], rs!Private, blnMeeting
     Records = Records + 1


And the Calendar_AddEvent() Function:

Public Function Calendar_AddEvent(ID As Long, Subject As String, Description As String, StartDateTime As Date, EndDateTime As Date, _
                             Optional PrivateFlag As Boolean = False, Optional MeetingFlag As Boolean = False, _
                             Optional RecurrenceType As Integer, Optional RecurrenceEndDate As Date) As XtremeCalendarControl.CalendarEvent
    Dim CalEvent As XtremeCalendarControl.CalendarEvent
    Dim CalRecurrence As CalendarRecurrencePattern

    Set CalEvent = frmMyForm.xtmCalendar.DataProvider.CreateEvent()
    If CalEvent Is Nothing Then Exit Function
    CalEvent.StartTime = StartDateTime
    CalEvent.EndTime = EndDateTime

    CalEvent.Subject = Subject
    CalEvent.PrivateFlag = PrivateFlag
    CalEvent.MeetingFlag = MeetingFlag
    CalEvent.BusyStatus = CalendarEventBusyStatus.xtpCalendarBusyStatusBusy
    CalEvent.CustomProperties("ID") = ID

     frmMyForm.xtmCalendar.DataProv ider.A ddEvent CalEvent
    Set Calendar_AddEvent = CalEvent
End Function

This is quite important to get resolved, so any prompt advice is appreciated.


Posted By: sserge
Date Posted: 15 July 2005 at 2:04am

Thanks -- the problem description is quite complete :)

Thre are 3 basic methods in the data provider to work with events:

You have just to call ChangeEvent() and event will be updated in the data provider storage.

If Len(CalEvent.CustomProperties("ID")) = 0 Then
    CalEvent.CustomProperties("ID") = 999     
End If


Posted By: dajv
Date Posted: 17 July 2005 at 4:50pm
Ah, that makes sense! Thanks alot.

Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 -
Copyright ©2001-2021 Web Wiz Ltd. -