This topic presents diagrams with class hierarchies of built-in SharePoint 2010 fields, related field controls and mobile field controls, and a final table with mapping between them. The top class for a field class is SPField. Field controls derive from BaseFieldControl abstract class from the Microsoft.SharePoint.WebControls namespace. Mobile controls derive from SPMobileBaseFieldControl class from the Microsoft.SharePoint.MobileControls namespace. A SPFieldType enumeration includes values for the field type. Similar values may be found in the XML Type attribute for a Field element, in Elements.xml file.
Field Types
SPField fields are based on a field definition: SPField.FieldTypeDefinition –> SPFieldTypeDefinition. The field data type is given by a SPField.Type –> SPFieldType enumeration value. Fields may be rendered by a typical web control (SPField.FieldRenderingControl –> BaseFieldControl) or mobile control (SPField.FieldRenderingMobileControl –> SPMobileBaseFieldControl):
The SPFieldType enumeration value may also appear in the XML Type attribute for a Field element, in Elements.xml:
<Field ... Type="data_type" />
Field Types Hierarchy
All built-in SharePoint 2010 field classes derive from SPField:
Field Controls Hierarchy
Field controls derive from BaseFieldControl abstract class, from the Microsoft.SharePoint.WebControls namespace:
Mobile Field Controls Hierarchy
Mobile controls derive from SPMobileBaseFieldControl class from the Microsoft.SharePoint.MobileControls namespace:
Field Mappings
Here is a table with mappings between most of the previous SPField classes, the SPFieldType enumeration value (or the XML Field.Type attribute), and the related field controls (including mobile):
SPField Class | SPFieldType | Control | Mobile Control | Description |
SPFieldAttachments | Attachments | AttachmentsField | SPMobileAttachmentsField | field with attachments |
SPFieldBoolean | Boolean | BooleanField | SPMobileBooleanField | Yes/No checkbox |
SPFieldAllDayEvent | AllDayEvent | AllDayEventField | true for all-day activity | |
SPFieldCalculated | Calculated | CalculatedField | SPMobileCalculatedField | formula-based value on other fields |
SPFieldCrossProjectLink | CrossProjectLink | CrossProjectLinkField | connects a list event with a Meeting Workspace site | |
SPFieldComputed | Computed | ComputedField | SPMobileComputedField | dependend on another field for its content |
SPFieldMultiChoice | MultiChoice | SPMobileMultiChoiceField | drop-down menu to choose from / radio / checkboxes | |
SPFieldRatingScale | GridChoice | RatingScaleField | rating scale field used in surveys | |
SPFieldChoice | Choice | BaseChoiceField | SPMobileChoiceField | radio button or checkbox |
SPFieldWorkflowStatus | WorkflowStatus | SPMobileWorkflowStatusField | workflow status field | |
SPFieldModStat | ModStat | SPMobileModStatField | content approval status | |
SPFieldDateTime | DateTime | DateTimeField | SPMobileDateTimeField | date and/or time |
SPFieldFile | File | FileField | SPMobileFileField | file |
SPFieldGuid | Guid | GuidField | SPMobileGuidField | GUID |
SPFieldReccurence | Reccurence | ReccurenceField | SPMobileReccurenceField | recurrence pattern in a Calendar list |
SPFieldMultiLineText | Note | NoteField | SPMobileNoteField | multiple lines of plain/RTF/enhanced RTF text |
SPFieldUrl | Url | UrlField | SPMobileUrlField | formatted URL as hyperlink or picture |
SPFieldPageSeparator | PageSeparator | page break in a survey list | ||
SPFieldMultiColumn | multicolumn field | |||
SPFieldText | Text | TextField | SPMobileTextField | single line of text |
SPFieldBusinessDataField | BusinessDataField | SPMobileBusinessDataField | PK of the field type, usually with display name | |
SPFieldDecimal | numeric decimal value | |||
SPFieldLookup | Lookup | SPMobileLookupField | lookup for information already on the site | |
SPFieldUser | User | UserField | SPMobileUserField | select from all users or groups |
SPFieldNumber | Number | BaseNumberField | SPMobileBaseNumberField | general number |
SPFieldCurrency | Currency | CurrencyField | SPMobileCurrencyField | currency |