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 |



