You can use below code to create following:-
1. Site Columns
2. Content Types
3. Add Fields to Content Type
1. Site Columns
2. Content Types
3. Add Fields to Content Type
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint;
namespace LAB
{
public static class
SPDevUtility
{
public static
SPContentType CreateSiteContentType(SPWeb web, string contentTypeName,
SPContentTypeId
parentItemCTypeId, string group)
{
if
(web.AvailableContentTypes[contentTypeName] == null)
{
SPContentType
itemCType = web.AvailableContentTypes[parentItemCTypeId];
SPContentType
contentType =
new
SPContentType(itemCType, web.ContentTypes, contentTypeName) { Group = @group
};
web.ContentTypes.Add(contentType);
contentType.Update();
return
contentType;
}
return
web.ContentTypes[contentTypeName];
}
public static SPField
CreateSiteColumn(SPWeb web, string displayName,
SPFieldType
fieldType, string groupDescriptor)
{
if
(!web.Fields.ContainsField(displayName))
{
string
fieldName = web.Fields.Add(displayName, fieldType, false);
SPField field =
web.Fields.GetFieldByInternalName(fieldName);
field.Group =
groupDescriptor;
field.Update();
return field;
}
return
web.Fields[displayName];
}
public static void
AddFieldToContentType(SPWeb web, SPContentTypeId contentTypeId, SPField
field)
{
SPContentType
contentType = web.ContentTypes[contentTypeId];
if (contentType ==
null) return;
if
(contentType.Fields.ContainsField(field.Title)) return;
SPFieldLink
fieldLink = new SPFieldLink(field);
contentType.FieldLinks.Add(fieldLink);
contentType.Update();
}
}
}
|
How can we add to all content types?
ReplyDeleteYou would need to provide content type ID and other params to below method
ReplyDeletepublic static void AddFieldToContentType(SPWeb web, SPContentTypeId contentTypeId, SPField field)
{
SPContentType contentType = web.ContentTypes[contentTypeId];
if (contentType == null) return;
if (contentType.Fields.ContainsField(field.Title)) return;
SPFieldLink fieldLink = new SPFieldLink(field);
contentType.FieldLinks.Add(fieldLink);
contentType.Update();
}
one funnel away challenge
ReplyDeleteone funnel away challenge
one funnel away challenge
one funnel away challenge
one funnel away challenge
one funnel away challenge
one funnel away challenge
one funnel away challenge
one funnel away challenge
one funnel away challenge