Defining Custom Columns in SharePoint – Field Types and Options
26 April, 2009 3 Comments
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 Rich Text Enhanced Text 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 | Pick the display format for the Choice and Multi-Choice types, respectively:
Drop-Down Menu or Combo Box Radio Buttons or Check Boxes Define the options a user can pick from using the Choices element. Below is a skeleton to explain this. <Field Name=”MyOptions” Type=……> 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) Maximum Value (100 for example) Decimal Places (Default is Automatic, example 2 decimal places) Show as Percentage (Default is False) | Microsoft.SharePoint.SPFieldNumber |
| Currency | Type=”Currency” | This field type also lets you define:
Minimum Value (0 for example) Maximum Value (100 for example) Decimal Places (Default is Automatic, example 2 decimal places) Currency Format 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 |
| Date and Time | Type=”DateTime” | This field also lets you define:
Date and Time Format Show the date and time: | Microsoft.Sharepoint.SPFieldDateTime |
| Yes/No | Type=”Boolean” | When setting the default value, you need to use the binary values:
No/False = 0 | Microsoft.Sharepoint.SPFieldBoolean |
| Person or Group | Single User or Group Type=”User” Multiple Users or Groups | This field also lets you define:
Allow multiple selections Allow selection of People and Groups Choose from Show field If you would also like to show presence (Office Communicator integration required): | 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 Picture | Microsoft.Sharepoint.SPFieldUrl |
Hope this helps you when defining site columns/field.
And one last thing, please remember to also define a group to your organise your fields using the Group=”My Columns” attribute!
Other references:


Hi Peter, Do you know of any way that you can include the column\’s selected values in the (detail) page so that the page properties & items displayed on a page are in synch?Thanks in advance & best regards, Vivian
Pingback: Defining Custom Columns in SharePoint « Sérgio's SharePoint Corner
Hi Peter,
Thank you so much, Thank you very much for your this post.
I was searching from last few weeks about what could be the data type of “Person Or Group” in Visual Studio code, ONLY from your blog, I found that it is “User”
That helped a lot!!
Thank you so much once again!!
Thanks & Regards,
Naimish Pandya
http://naimishpandya.wordpress.com/