As a SharePoint developer you can use SharePoint API to create columns programmatically in Lists or Document Libraries. You can set the different properties for the column. Followings are few snippets to create SharePoint column programmatically using C#.
Single line of text
Represents a column that contains a single line of text.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddTextField(SPList list) | |
{ | |
var fieldName = "FieldName"; | |
// Create field | |
string fieldInternalName = list.Fields.Add(fieldName, SPFieldType.Text, false); | |
// Get Field | |
SPFieldText textField = list.Fields.GetFieldByInternalName(fieldInternalName) as SPFieldText; | |
// Set other properties | |
textField.Description = "Text Field Description"; | |
// Update field | |
textField.Update(); | |
} |
Multiple lines of text
Represents a column that contains a multiple line of text.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddMultiLineTextField(SPList list) | |
{ | |
var fieldName = "FieldName"; | |
// Create field | |
string fieldInternalName = list.Fields.Add(fieldName, SPFieldType.Note, false); | |
// Get Field | |
SPFieldMultiLineText multiLinetextField = list.Fields.GetFieldByInternalName(fieldInternalName) as SPFieldMultiLineText; | |
// Set other properties | |
multiLinetextField.Description = "Multiline Text Field Description"; | |
multiLinetextField.NumberOfLines = 10; | |
// Update field | |
multiLinetextField.Update(); | |
} |
Choice (menu to choose from)
Represents a column that contains choices. It can be single select or multiple select. For single select Choice field renders Dropdown list or Radio button list and for multiple select it renders Checkbox list.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddChoiceField(SPList list) | |
{ | |
string fieldName = "FieldName"; | |
// Create field | |
string fieldInternalName = list.Fields.Add(fieldName, SPFieldType.Choice, false); | |
// Get field | |
SPFieldChoice choiceField = list.Fields.GetFieldByInternalName(fieldInternalName) as SPFieldChoice; | |
// Add options | |
string[] options = { "Enter Choice #1", "Enter Choice #2", "Enter Choice #3" }; | |
choiceField.Choices.AddRange(options); | |
// By Default it will be dropdown list | |
// If multi choice Checkbox list. | |
choiceField.Type = SPFieldType.MultiChoice; | |
// Set other properties | |
choiceField.Description = "Choice Field Description"; | |
choiceField.DefaultValue = "Enter Choice #1"; | |
// Update field | |
choiceField.Update(); | |
} |
Number (1, 1.0, 100)
Represents a column that contains numbers. You can use DisplayFormat property to set the allowed number of decimal.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddNumberField(SPList list) | |
{ | |
var fieldName = "FieldName"; | |
// Create field | |
string fieldInternalName = list.Fields.Add(fieldName, SPFieldType.Number, false); | |
// Get field | |
SPFieldNumber numberField = list.Fields.GetFieldByInternalName(fieldInternalName) as SPFieldNumber; | |
// Set other properties | |
numberField.Description = "Number Field Description"; | |
numberField.DisplayFormat = SPNumberFormatTypes.NoDecimal; | |
// Update field | |
numberField.Update(); | |
} |
Currency ($, ¥, €)
Represents a column that contains currency. You can use DisplayFormat property to set the allowed number of decimal. You can use CurrencyLocaleId property to set the currency symbol. You can find full list of Locale Ids here
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddCurrencyField(SPList list) | |
{ | |
var fieldName = "FieldName"; | |
// Create field | |
string fieldInternalName = list.Fields.Add(fieldName, SPFieldType.Currency, false); | |
// Get field | |
SPFieldCurrency currencyField = list.Fields.GetFieldByInternalName(fieldInternalName) as SPFieldCurrency; | |
// Set other properties | |
currencyField.Description = "Currency Field Description"; | |
currencyField.DisplayFormat = SPNumberFormatTypes.TwoDecimals; | |
currencyField.CurrencyLocaleId = 1033; // United States | |
// Update field | |
currencyField.Update(); | |
} |
Date and Time
Represents a column that contains a DateTime value. You can use DisplayFormat property to set the date format.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddDateTimeField(SPList list) | |
{ | |
var fieldName = "FieldName"; | |
// Create field | |
string fieldInternalName = list.Fields.Add(fieldName, SPFieldType.DateTime, false); | |
// Get field | |
SPFieldDateTime dateTimeField = list.Fields.GetFieldByInternalName(fieldInternalName) as SPFieldDateTime; | |
// Set other properties | |
dateTimeField.Description = "DateTime Field Description"; | |
dateTimeField.DisplayFormat = SPDateTimeFieldFormatType.DateOnly; | |
dateTimeField.DefaultValue = "[Today]"; | |
// Update field | |
dateTimeField.Update(); | |
} |
Lookup (information already on this site)
Represents a column that contains a information from other List/Document Library from current site.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddLookupField(SPList lookupList, SPList list) | |
{ | |
var lookupFieldName = "LookupFieldName"; | |
var fieldName = "FieldName"; | |
// Create field | |
var fieldInternalName = list.Fields.AddLookup(fieldName, lookupList.ID, true); | |
// Get field | |
SPFieldLookup lookupField = list.Fields[fieldInternalName] as SPFieldLookup; | |
// Set properties | |
lookupField.Description = "Lookup Field Description"; | |
lookupField.LookupField = lookupList.Fields[lookupFieldName].InternalName; | |
// Update field | |
lookupField.Update(); | |
} |
Yes/No (check box)
Represents a column that contains Boolean value.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddBooleanField(SPList list) | |
{ | |
var fieldName = "FieldName"; | |
// Create field | |
string fieldInternalName = list.Fields.Add(fieldName, SPFieldType.Boolean, false); | |
// Get field | |
SPFieldBoolean booleanField = list.Fields.GetFieldByInternalName(fieldInternalName) as SPFieldBoolean; | |
// Set other properties | |
booleanField.Description = "Boolean Field Description"; | |
// Update field | |
booleanField.Update(); | |
} |
Person or Group
Represents a column that contains a user or group information.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddUserField(SPList list) | |
{ | |
var fieldName = "FieldName"; | |
// Create field | |
string fieldInternalName = list.Fields.Add(fieldName, SPFieldType.User, false); | |
// Get field | |
SPFieldUser userField = new SPFieldUser(list.Fields, fieldInternalName); | |
// Set other properties | |
userField.Description = "User Field Description"; | |
userField.AllowMultipleValues = false; | |
userField.SelectionMode = SPFieldUserSelectionMode.PeopleAndGroups; | |
userField.LookupField = "Title"; | |
userField.Update(); | |
// Update field | |
userField.Update(); | |
} |
Hyperlink or Picture
Represents a column that contains a Url information. It can be Hyperlink or Picture Url.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddUrlField(SPList list) | |
{ | |
var fieldName = "FieldName"; | |
// Create field | |
string fieldInternalName = list.Fields.Add(fieldName, SPFieldType.URL, false); | |
// Get field | |
SPFieldUrl urlField = list.Fields.GetFieldByInternalName(fieldInternalName) as SPFieldUrl; | |
// Set other properties | |
urlField.Description = "Url Field Description"; | |
// SPUrlFieldFormatType.Hyperlink or SPUrlFieldFormatType.Image | |
urlField.DisplayFormat = SPUrlFieldFormatType.Hyperlink; | |
// Update field | |
urlField.Update(); | |
} |
Calculated (calculation based on other columns)
Represents a column that contains a calculated value based on other columns.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddCalculatedField(SPList list) | |
{ | |
var fieldName = "FieldName"; | |
// Create field | |
string fieldInternalName = list.Fields.Add(fieldName, SPFieldType.Calculated, false); | |
// Get field | |
SPFieldCalculated calculatedField = list.Fields.GetFieldByInternalName(fieldInternalName) as SPFieldCalculated; | |
// Set other properties | |
calculatedField.Description = "Calculated Field Description"; | |
calculatedField.Formula = "=[Title]"; | |
calculatedField.OutputType = SPFieldType.Text; | |
// Update field | |
calculatedField.Update(); | |
} |
Managed Metadata
Represents a column that contains information from Term Store.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void AddTaxonomyField(SPSite site, SPList list) | |
{ | |
var fieldName = "FieldName"; | |
// Get TermSet | |
TaxonomySession taxonomySession = new TaxonomySession(site); | |
TermStore termStore = taxonomySession.TermStores["MANAGED_METADATA_SERVICE_NAME"]; | |
Group group = termStore.Groups["GROUP_NAME"]; | |
TermSet termset = group.TermSets["TERMSET_NAME"]; | |
// Create field | |
TaxonomyField taxonomyField = list.Fields.CreateNewField("TaxonomyFieldType", "DISPLAY_NAME") as TaxonomyField; | |
taxonomyField.Description = "Managed Metadata Field Description"; | |
taxonomyField.SspId = termStore.Id; | |
taxonomyField.TermSetId = termset.Id; | |
taxonomyField.AllowMultipleValues = false; | |
taxonomyField.Group = "GROUP_NAME"; | |
list.Fields.Add(taxonomyField); | |
} |
No comments:
Post a Comment