I have a calender list in my Sharepoint 2010 application. I want to make custom content types that the user can fill out that will make a calendar event.

The problem is, if I inherit from the Event content type I pick up extra columns, such as "Recurrence" and "All Day Event" that I don't want to show up and don't need. I really just need the dates. Is there any way to accomplish this?

3 Answers 3


One idea would be to not use a Calendar list. If you use a custom list, and then set up a Calendar View for that list, you wouldn't have to have any additional columns.

For example, create a custom list, add two date columns (begin and end), and "Create new View" then select "Calendar View" and configure the view as you want.

Might be a heavy way to do it, but it's good to know that you can do such things.

  • This is what I do too, this way also allows you to filter views properly based on start or end date. If recurrance, all day event, and meeting workspace aren't needed, roll your own list item based content type. Commented Jul 13, 2011 at 19:46
  • @Andy Burns - Thanks. I am going to go with this method.
    – skaz
    Commented Jul 14, 2011 at 12:01
  • @Andy Burns - I tried doing just a base list, but then I don't get the "New Item" functionality in the calendar.
    – skaz
    Commented Jul 18, 2011 at 13:11
  • @Andy Burns - A custom list is better in most cases but it cannot provide the "Connect to Outlook" functionality that a calendar list can provide.
    – skeletank
    Commented May 22, 2012 at 15:22
  • Can I overlay that list onto second calendar, and filter by column value on that list? (So only items with category X show up on that calendar)
    – przemo_li
    Commented Dec 17, 2014 at 15:08

Although the specific fields you mention cannot be removed from the child content type through the browser or through SharePoint Designer, you can remove them if you deploy your content type through a feature. Here is the syntax:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <!-- Parent ContentType: Event (0x0102) -->
  <ContentType ID="0x0102002aacb48149ad4a62844d0bf03d752e16"
           Name="My Calendar Event"
           Group="Custom Content Types"
           Description="My Calendar Event"
      <RemoveFieldRef ID="{f2e63656-135e-4f1c-8fc2-ccbe74071901}" Name="fRecurrence" />
      <RemoveFieldRef ID="{7d95d1f4-f5fd-4a70-90cd-b35abc9b5bc8}" Name="fAllDayEvent" />

IMPORTANT: Be sure to use lowercase for the ID of the columns you want to remove or it may not match and the columns will not be removed.

NOTE: To get the id and internal name of a column, you can use PowerShell:

$web = Get-SPWeb http://myserver
write-host $web.Fields["All Day Event"].Id
write-host $web.Fields["All Day Event"].InternalName
  • It does not work for me, what am I missing ???? <Elements xmlns="schemas.microsoft.com/sharepoint"> <!-- Parent ContentType: Event (0x0102) --> <ContentType ID="0x010200afec7f69d3b14a419e3ca72732d9bfca" Name="CTEvent4" Group="aaa" Description="aaa Event for Calendar" Inherits="TRUE" Version="0"> <FieldRefs> <RemoveFieldRef ID="{f2e63656-135e-4f1c-8fc2-ccbe74071901}" Name="fRecurrence" /> <RemoveFieldRef ID="{7d95d1f4-f5fd-4a70-90cd-b35abc9b5bc8}" Name="fAllDayEvent" /> <RemoveFieldRef /> </FieldRefs> </ContentType> </Elements>
    – user5861
    Commented Dec 1, 2011 at 6:09
  • You should remove the Inherits="TRUE" or set it to "FALSE"
    – Laurie
    Commented Jan 7, 2012 at 0:18

You can create a content type based off of the event content type. The fields such as Workspace, Reoccurance, etc can be hidden within designer. Designer is very touchy about it though so it may take a few clicks and some hovering around the property to get the dropdown to appear.

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.