Defining Custom Columns in SharePoint – Field Types and Options
A common task for SharePoint developers is defining Site Columns (or Fields) as part of a Feature. When defining a field, you need to assign the field a type. I have created this reference table below to help you map between the the “Create Site Column” SharePoint page to the attributes you would set when defining the field as part of a feature.
Type (as shown on the Create Column page) | Field Type | Notes | MSDN Links |
Single line of text | Type=”Text” | Microsoft.Sharepoint.SPFieldText | |
Multiple lines of text | Type=”Note” | In the Create Column page, can pick the type of text to allow. To enable the different sub-types, you need to set a couple of other attributes on the field element.
Plain Text RichText=”FALSE” (default value) Rich Text RichText=”TRUE” RichTextMode=”Compatible” (default value) Enhanced Text RichText=”TRUE” RichTextMode=”FullHtml” In addition, you can also set the number of lines to display using the NumLine attribute. Further Information on MSDN: | Microsoft.Sharepoint.SPFieldMultiLineText |
Choice (menu to choose from) | Single Choice
Type=”Choice” Multi-Choice Type=”MultiChoice" | Pick the display format for the Choice and Multi-Choice types, respectively:
Drop-Down Menu or Combo Box Format=”Dropdowns” Radio Buttons or Check Boxes Format=”RadioButtons” Define the options a user can pick from using the Choices element. Below is a skeleton to explain this. If you would like to give the user an option to add their own value, set the attribute FillInChoice=”TRUE”. | Microsoft.Sharepoint.SPFieldChoice
Microsoft.Sharepoint.SPFieldMultiChoice |
Number | Type=”Integer” | This field type also lets you define:
Minimum Value (0 for example) Min=”0” Maximum Value (100 for example) Max=”100” Decimal Places (Default is Automatic, example 2 decimal places) Decimals=”2” Show as Percentage (Default is False) Percentage=”FALSE” | Microsoft.SharePoint.SPFieldNumber
|
Currency | Type=”Currency” | This field type also lets you define:
Minimum Value (0 for example) Min=”0” Maximum Value (100 for example) Max=”100” Decimal Places (Default is Automatic, example 2 decimal places) Decimals=”2” Currency Format This sets the display format of the currency. LCID=”3081” 3081 sets the format English – Australian. For a complete list of Locales, see the MSDN link in the next column. | Microsoft.Sharepoint.SPFieldCurrency
Locale IDs |
Date and Time | Type=”DateTime” | This field also lets you define:
Date and Time Format Show the date only: Format=”DateOnly” Show the date and time: Format=”DateTime” | Microsoft.Sharepoint.SPFieldDateTime |
Yes/No | Type=”Boolean” | When setting the default value, you need to use the binary values:
No/False = 0 Yes/True = 1 | Microsoft.Sharepoint.SPFieldBoolean |
Person or Group | Single User or Group
Type=”User” Multiple Users or Groups Type=”MultiUser” | This field also lets you define:
Allow multiple selections Set the Type to MultUser and the attribute Mult=”TRUE” Allow selection of People Only UserSelectionMode=”PeopleOnly” People and Groups UserSelectionMode=”PeopleAndGroups” Choose from If you want to limit the option list to a SharePoint Group, use the UserSelectionScope attribute. Set it to the ID of the SharePoint group (Integer value). For example, UserSelectionScope=”3”. Show field Set the name of the field from the User’s profile properties that you want to display. For example, show the user’s name property: ShowField=”Name” If you would also like to show presence (Office Communicator integration required): Presence=”TRUE” | Microsoft.Sharepoint.SPFieldUser |
Hyperlink or Picture | Type=”URL” | You can display the URL as a Hyperlink or Picture. Use the Format attribute to pick which one:
Hyperlink Format=”Hyperlink” Picture Format=”Image” | Microsoft.Sharepoint.SPFieldUrl |