Manage Content Types on New Button


Manage Content Types on New Button

SharePoint Lists are enabled with multiple content types, because of that we can add items with different type of properties and documents. In advanced, the New Menu displays those Content type available in List as its sub-menu.

Fig1 Content Types Visible in New Menu

So how the SharePoint displays those Content types under New menu and how we can enable and disable those content types under that new Menu.

So here is the simple snippet to list out the content types enabled in New Menu.

SPList list = web.Lists[“ListName”];

IList<SPContentType> ctoFolder = list.RootFolder.UniqueContentTypeOrder;

foreach (SPContentType ctype in ctoFolder) {     Console.WriteLine(ctype.Name); }

UniqueContentTypeOrder of SPFolder member lists out the Content Types visible on New Menu. Now we’ll see the code for removing the ContentType on New menu.

SPList list = web.Lists[“ListName”];

IList<SPContentType> ctoFolder = list.RootFolder.UniqueContentTypeOrder;

//Code for removing the Content Type sub-menu in New Menu.

//Removing the “Test Content Type” menu under New Menu

for (int i = ctoFolder.Count – 1; i >= 0; i–) {     if (ctoFolder[i].Name == “Test Content Type”)     {         ctoFolder.Remove(ctoFolder[i]);                               }                       }

list.RootFolder.UniqueContentTypeOrder = ctoFolder; list.RootFolder.Update();

//Code for adding the Content type sub-menu under New Menu

//Adding the “Test Content type” menu under New Menu

SPContentType ctype = list.ContentTypes[“Test Content Type”];                                       ctoFolder.Add(ctype); list.RootFolder.Update();

The above helps us to enable and disable the Content type on New Button in SharePoint List

Advertisements

About sharepointsriram

9+ Yrs of IT experience
This entry was posted in Sharepoint 2010 Server Object Model. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s