I'm working with a custom Event list in our SharePoint 2010 site; the list is of calendar events, with a couple extra date/time columns and a little extra information.

I have a Web Part working that can create new items (both individual and recurring), and I can select, edit, and delete individual occurrences of a recurring series. However, when I delete the series, the exceptions (edits and deletes) of the series are left behind.

This issue only appears when creating the recurring list item programmatically. If I create a new recurring item from the Calendar view, I can edit a single occurrence, then when I delete the series, the edits are also removed from the list.

To try to track down the issue myself, I created another web part that lets me compare field values side-by-side for list items. I created a recurring series through the Calendar view, and another with the same start/end/recurrence programmatically. All of the defining fields look identical (EventDate date/time, EndDate date/time, RecurrenceData, TimeZone, XMLTZone, fAllDayEvent, fRecurrence).

When I compare edited occurrences, the following field values look the same for occurrences edited in Calendar view and programmatically: EventDate, EndDate, RecurrenceID, fAllDayEvent, fReccurrence, ReccurrenceData, TimeZone. I also verified that the MasterSeriesItemID is set correctly.

Not sure what I'm missing, but I'm wondering if it has something to do with some of our custom fields, is that possible? I set up a test project that works against a simple calendar list, and with that project I can programmatically delete a recurring series, and all exceptions in the series that I create in the test web part are automatically removed.

1 Answer 1


The problem turns out to be that I wasn't explicitly setting the All Day Event field in the exception item. I went back and compared line by line the code in my working test project with my non-working web part, and saw that the line was missing where I set the All Day Event field to true. I didn't catch it before because the field value was always set to Yes/true.

By adding the line that explicitly sets that field, exception items are now correctly deleted when I delete the entire series.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.