I can create a ScheduledItem in an event receiver, but how do I check if a list item is scheduled?

What I've tried:

IsScheduledItem method (ScheduledItem class) - but this method: "...confirms that the SPListItem is a member of a document library that supports scheduling, and that it has start and end dates, which are required for scheduling," which is obviously no good.

  • 1
    your question title says, if a "page is scheduled" however explanation says "Item is scheduled", sorry but bit confused :S
    – tereško
    Aug 29, 2012 at 11:09
  • The ListItem in question is a page. Aug 29, 2012 at 12:28

1 Answer 1


Once the item is scheduled you could see the approval Status as "Scheduled".

Taken from this Post

There are two ways to check for the approval status of an item as well as some interesting ways about how they worked.

The first option to use if (item.HasPublishedVersion) where item is an SPListItem. The second option is to use if (item.ModerationInformation.Status == SPModerationStatusType.Approved) again, where item is an SPListItem. The second option obviously gives you a little more flexibility since you can choose more than just approved when checking the status type. However, for the purpose of this post, we are going to just focused on approved items.

above text is taken from this Post

Hope it helped :) !

  • Thanks so much for your answer, a big help towards helpin me understand it all. But unforunately I'm doing all this on a CheckedIn event receiver and it still seems to be at the 'draft' stage by the time I evaluation it's version. Plus, at the point I'm running my code HasPublishedVersion is false. Aug 29, 2012 at 12:27

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.