<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>
Ishai Sagi starts by explaining what is a Field Type.
A custom field is needed when custom validation, custom controls, accessing a data sources or new properties are needed. For example, to create a phone field.
The downside is that a custom field does not inherit everything from the parent field. Moreover, it does not integrate with Office. In other words, it is not displayed in the Office fields bar. In the datasheet view, the custom controls are read-only and they are not included when you export a list to Excel. Finally, a complex data structure may be hard to integrate into filters, grouping, search and querying.
Every custom field is composed by three components : and XML definition file, a class library and a field class.
Among the three most common overrides there are : DefaultValue to dynamically assign a default value based on the user context for example, GetValidateString that returns the value that will be stored in SharePoint, and finally, FieldRenderingControl for a custom User Interface.
After two demos showing how to create a simple custom field and the second showing a data validation custom field, Ishai advises that when developing a custom field, we should always think that it could be used as a site column.
The Rendering Pattern allows to define how a custom control is rendered. It does not require any compiled code and, instead, is defined in a XML definition file.
0 Comments