Procedimiento para crear una definición de tipo de campo personalizado
Última modificación: viernes, 09 de abril de 2010
Hace referencia a: SharePoint Foundation 2010
Una definición de campo es un archivo XML nombrado en el modelo fldtypes*.xml que se implementa en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML. Los tipos de campo que se incluyen en SharePoint Foundation se encuentran en el archivo FLDTYPES.XML. Un archivo de definición de campo contiene la información que SharePoint Foundation necesita para representar correctamente el campo en vistas de listas y en los formularios de presentación, edición y creación. El nombre y la descripción del tipo de campo, según aparece en las páginas de la interfaz de usuario como las páginas Personalizar [lista], Nueva columna de sitio y Crear columna, también se configuran en la definición de tipo de campo. Más importante aún, la definición incluye información sobre el ensamblado que contiene el tipo de campo compilado.
Para poder reconocer un tipo de campo personalizado, SharePoint Foundation debe tener una definición de tipo de campo en un archivo fldtypes*.xml. Estos archivos se crean en Visual Studio como parte de un proyecto de tipo de campo personalizado. Por ejemplo, si tiene una definición de tipo de campo para un tipo de campo que define un número de seguridad social estadounidense, podría llamar al archivo XML fldtypes_ssn_Contoso.xml.
Nota
Se recomienda que use un modelo de nomenclatura sistemático y que incluya el nombre de la compañía, de manera que las definiciones de campo del directorio ... \XML se puedan distinguir de las de otros proveedores de soluciones. Es posible tener más de una definición de campo en el mismo archivo (como en el ejemplo siguiente) y esto puede ser una directiva razonable si tiene varios tipos de campo que sabe que siempre se implementarán juntos. Pero, por cuestiones de sencillez en las instrucciones, en el SDK de SharePoint Foundation se supone, por lo general, que hay un único tipo de campo personalizado en cada fldtypes*.xml personalizado. El archivo FLDTYPES.XML que se incluye en SharePoint Foundation tiene muchas definiciones de tipos de campo. No se puede modificar este archivo.
A continuación se proporciona una lista de los elementos incluidos en la definición de tipo de campo. Haga clic en el nombre del elemento para obtener información detallada acerca del mismo.
Elemento contenedor de nivel superior para el archivo fldtypes*.xml. |
|
Elemento contenedor de nivel superior de una definición de tipo de campo. |
|
Elemento que representa una característica única del tipo de campo. |
|
Elemento que define propiedades de tipo de campo variables. Obsoleto. |
|
Elemento contenedor de nivel superior dentro de un elemento PropertySchema. Obsoleto. |
|
Elemento que representa una propiedad de una variable de un tipo de campo personalizado que se establece cuando se crea una columna basada en el tipo de campo. Obsoleto. |
|
Elemento que representa el valor predeterminado de una propiedad de un tipo de campo personalizado. Obsoleto. |
|
Elemento que define el modo en que el campo se representa en determinadas circunstancias. Obsoleto. |
Ejemplo de definición de tipos de campo
El siguiente ejemplo define dos tipos de campo personalizados.
<?xml version="1.0" encoding="utf-8" ?>
<FieldTypes>
<FieldType>
<Field Name="TypeName">SocialSecurityNumber</Field>
<Field Name="ParentType">Text</Field>
<Field Name="TypeDisplayName">Social Security Number</Field>
<Field Name="TypeShortDescription">Social Security Number (123456789, 123-45-6789)
</Field>
<Field Name="AllowBaseTypeRendering">TRUE</Field>
<Field Name="FieldTypeClass">
AdventureWorks.FieldTypes.SSNField, AdventureWorks.FieldTypes,
Version=1.0.0.0,Culture=neutral,PublicKeyToken=90734cc53324b79c
</Field>
</FieldType>
<FieldType>
<Field Name="TypeName">USAddress</Field>
<Field Name="ParentType">MultiColumn</Field>
<Field Name="TypeDisplayName">US Address</Field>
<Field Name="TypeShortDescription">US Address(12345 NE 123 St. Redmond, WA 98052)
</Field>
<Field Name="UserCreatable">TRUE</Field>
<Field Name="FieldTypeClass">
AdventureWorks.FieldTypes.USAddressField, AdventureWorks.FieldTypes,
Version=1.0.0.0,Culture=neutral,PublicKeyToken=90734cc53324b79c
</Field>
</FieldType>
</FieldTypes>
Definiciones de tipo de campo en el modelo de objetos
Después de implementar correctamente una solución de tipo de campo, puede tener acceso a la definición de tipo de campo en el modelo de objetos de SharePoint Foundation como un objeto SPFieldTypeDefinition. La mayoría de los valores de configuración que define en el XML de definición de tipo de campo se representan como miembros de solo lectura de la clase SPFieldTypeDefinition. La mayoría de las propiedades de esta clase tienen el mismo nombre que los valores de configuración correspondientes del archivo fldtypes*.xml. Vea Elemento Field (Tipos de campo) para obtener detalles de las excepciones.
RenderPattern y PropertySchema son obsoletos. El elemento RenderPattern no es accesible a través de SPFieldTypeDefinition. El elemento PropertySchema es legible en la propiedad PropertySchema como una cadena XML.
Vea también
Tareas
Tutorial: Crear un tipo de campo personalizado
Conceptos
Tipos de campos personalizados
Procedimiento para crear una clase de campos personalizados
Representación de propiedades de tipo de campo personalizado