sorry for my bad English,
Dim myApp As Appointment = Appointment.FromBytes(CType(mydatabase.AllPropertiesMemberField, Byte()))
Thank you for contacting Infragistics. The issue you are seeing is not entirely clear nor does this appear to be related to your database. From my understanding one of your properties is returning an invalid value or possibly null from the byte array. I recommend handling the UltraCalendarInfo's AppointmentDataError event to trap which property may have been invalid or null. If this event is fired you know something went wrong.
private void ultraCalendarInfo1_AppointmentDataError(object sender, Infragistics.Win.UltraWinSchedule.AppointmentDataErrorEventArgs e)
//Cancel the default message box
e.ShowMessageBox = false;
//Show a custom message box
DialogResult result = MessageBox.Show(this, "Failed to add appointment. Would you like to set default values?", "Error", MessageBoxButtons.YesNo);
if ( result == DialogResult.Yes )
//Check it the Subject was null
DataRow dr = ((DataRowView)e.Appointment.BindingListObject).Row;
if ( dr["Subject"] == DBNull.Value )
//Set the subject to a default string
e.Appointment.Subject = "Error appointment";
//Check if the StartDateTime is null
if ( dr["StartDateTime"] == DBNull.Value )
//Set StartDateTime to a deafult
e.Appointment.StartDateTime = DateTime.Now;
//Check if the EndDateTime is null and make sure it is after the StartDateTime
if ( dr["EndDateTime"] == DBNull.Value
|| ((DateTime)dr["EndDateTime"]) <= ((DateTime)dr["StartDateTime"]))
//Set EndDateTime to a deafult
e.Appointment.EndDateTime = e.Appointment.StartDateTime.AddHours(1);
Let me know if you have any questions.
Thank you for the code, but this brings no error message.
you can download my database, it is an Access-Database, here is only 1 Appontment of 88 OK.
maybe you will find the mistake.
you have not bound the fields
I have used your demo 'WinSchedule Database Demo CS', imported all appointments and owner
in your 'WinScheduleData.mdb"
if you test this, there is only one appointment on 18.01.2018 of 88 dateshttp://www.riro-shop.de/WinScheduleData.zip
so if i unbound 'AllPropertiesMember', then i will see all the appointments,
but i need the field allproperties, as there are important information in the Appointment.tag.
Thank you for your efforts
I put together a new sample that binds a DataSet directly to your database. When I bind our api to AllProperties it results in no appointments showing up.
At this time I logged a development item 255853 for our team to investigate this issue. If the behavior can be isolated in a more simpler manner please modify the sample and reattach it here. I also created a private support case to follow up with you CAS-197017-V2B5N7. You can access this case here after signing into your Infragistics account.
Just to expand upon this, it looks like either you are either deriving from Appointment and using your own derived appointment class.
Or you are setting some property on the appointment to an instance of a class you are defining in your code. Maybe the Tag property.
Since the sample you sent us doesn't have that class, the appointments can't be loaded. But that's only a problem with the sample, since it doesn't reference the assembly that defines the class it's looking for.
Presumably, your real application DOES have a reference to that assembly, so it's likely that the problem you are getting is slightly different than the one we are seeing.
Perhaps the version of the assembly has changed - in which case, the CalendarInfo won't be able to deserialize that object because it won't be able to find it.
Or maybe the class itself implements serialization - it would have to, since it got serialized to the database in the first place - but has an error in it's deserialization code.
Thanks for your help, I found the error,
it occurred after the update from Schedule 13.1 to 16.2
Thank you for following up. Let us know if there is anything else we can assist you with or if you have any questions.