Elemento RenderPattern (Tipos de campo)
Última modificación: viernes, 09 de abril de 2010
Hace referencia a: SharePoint Foundation 2010
En este artículo
Atributos
Elementos secundarios
Elementos primarios
Importante |
---|
En este tema se describe el marcado usado en un método que ahora está obsoleto para representar tipos de campo personalizados en vistas de lista y en los formularios de presentación, de edición y nuevo. Se proporciona únicamente para ayudar a las personas que depuran un tipo de campo personalizado desarrollado en un principio en una versión anterior de SharePoint Foundation. Para obtener información acerca de los métodos recomendados, vea Procedimiento para crear plantillas de representación de campos y Procedimiento para crear un tipo de campo personalizado. Los campos personalizados cuya representación se define con marcado RenderPattern se siguen representando correctamente en los formularios. No obstante, SharePoint Foundation usa hojas de estilo XSLT de manera predeterminada para representar campos en vistas de lista, incluso para campos personalizados heredados cuya representación de vista de lista se define con RenderPattern. Para habilitar la representación de este tipo de campo, debe agregarse un elemento <Field Name="CAMLRendering">TRUE</Field> al elemento FieldTypes contenedor en el archivo de definición de tipo de campo (fldtype*.xml). |
RenderPattern define el Lenguaje de marcado de la aplicación de colaboración (CAML) real, el HTML y el script que SharePoint Foundation puede usar para representar el tipo de campo en la interfaz de usuario. Además, en las vistas de lista, este elemento representa los encabezados de columna en función del tipo de campo seleccionado.
<RenderPattern Name="Text">
</RenderPattern>
Atributos
Atributo |
Descripción |
---|---|
Name |
String obligatorio. Representa el nombre del patrón de representación que se define en este elemento RenderPattern. Los valores válidos son:
|
Elementos secundarios
Ninguno definido de forma explícita, pero este elemento es un contenedor de marcado CAML del Esquema View |
Elementos primarios
Comentarios
Herencia de RenderPatterns
Si no se proporciona un RenderPattern con un valor Name determinado para un tipo de campo, el tipo de campo hereda el RenderPattern con el nombre de su tipo de campo principal.
HeaderPattern
Si la representación de CAML está habilitada (vea el apartado anterior), el tipo de campo debe tener un tipo de HeaderPattern del elemento RenderPattern, ya sea directamente o por herencia, o de lo contrario el encabezado de columna del campo no se representará en las vistas de lista. El marcado de un HeaderPattern puede ser bastante sencillo cuando el tipo de campo no se puede ordenar ni filtrar. Sin embargo, si el tipo de campo se puede ordenar o filtrar, entonces el marcado puede ser bastante complejo porque el encabezado no sólo sirve de título de la columna sino también de control del menú desplegable para ordenar y filtrar. Además, debido a que la capacidad de ordenación y filtrado se puede deshabilitar para columnas concretas (incluso si el tipo de campo en el que se basa la columna los admite) el marcado debe usar elementos Switch para probar si la ordenación o el filtrado están habilitados para la columna. Para obtener ejemplos, vea %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\FLDTYPES.XML.
DisplayPattern
Si la representación de CAML está habilitada (vea el apartado anterior), un tipo de campo debe tener un tipo DisplayPattern del elemento RenderPattern, ya sea directamente o por herencia, para que se pueda representar el campo en las vistas de lista. Esto no es necesario para representar el campo en modo de presentación, como en la página de visualización (elemento de lista), ya que un campo también puede representarse en modo de presentación por medio de un control de representación (archivo .ascx). Ninguno de los tipos de campo heredados que se incluyen con SharePoint Foundation usa un control de representación en lugar de un tipo DisplayPattern del elemento RenderPattern para representar el campo en modo de presentación.
El tipo DisplayPattern de RenderPattern también puede usarse para representar el campo en todas las filas de una vista de lista. De manera predeterminada, SharePoint Foundation usa marcado XSLT en un archivo fldtypes*.xsl ubicado en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\XSL para representar los campos en las vistas de lista. Pero se comprueba el archivo fldtypes*.xml ubicado en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML para averiguar si <Field Name="CAMLRendering">TRUE</Field> está presente en el elemento FieldTypes contenedor de un campo. Si está presente, DisplayPattern se usa para representar el campo en las vistas de lista.
Nota
Los dos tipos de campo que se incluyen con SharePoint Foundation no tienen un tipo de DisplayPattern de RenderPattern en FLDTYPES.XML: (1) los campos ContentTypeId nunca son visibles; (2) los campos Computed se representan en las vistas de listas y en modo de presentación mediante un elemento DisplayPattern en los elementos Field dentro del archivo schema.xml de cada lista donde aparecen.
NewPattern y EditPattern
Los tipos NewPattern y EditPattern de RenderPattern se usaban para representar un campo en el modo nuevo y en el modo de edición, respectivamente, cuando el campo no necesitaba de procesamiento o validación de datos importantes al crear o editar un elemento de lista que contenía el campo. Los campos de nota de forma libre, por ejemplo, no se pueden validar porque cualquier texto es un valor válido. De forma similar, los campos de opción y de búsqueda, por definición, limitan las opciones del usuario sólo a valores válidos. Otros campos, como divisa y fecha y hora, sólo necesitan una validación mínima que se puede codificar mediante script.
Vea %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\FLDTYPES.XML para obtener ejemplos de los tiposNewPattern y EditPattern de RenderPatterns.
RenderPatterns para tipos de campos personalizados derivados de varias columnas
En el marcado de RenderPattern para un campo personalizado de varias columnas, se usa el atributo SubcolumnNumber de un elemento Column para especificar una columna individual en un tipo de campo de varias columnas. Para obtener más información acerca de los tipos de campo de varias columnas, vea Clases de campos de varias columnas personalizados.
Ejemplo
En el siguiente ejemplo se define un modelo de representación de presentación para un tipo de campo personalizado que se hereda del tipo de varias columnas. El campo se usa para almacenar direcciones de EE.UU. La primera subcolumna almacena la dirección postal. A continuación, se incluye un salto de línea HTML. La siguiente subcolumna almacena el nombre de la ciudad seguido de una coma y un espacio. En la tercera subcolumna se almacena el estado y, seguido de un espacio, la última subcolumna almacena el código postal.
<RenderPattern Name="DisplayPattern">
<Switch>
<Expr><Column/></Expr>
<Case Value="">
</Case>
<Default>
<Column SubColumnNumber="0" HTMLEncode="TRUE"/>
<HTML><![CDATA[<BR>]]></HTML>
<Column SubColumnNumber="1" HTMLEncode="TRUE"/>
<HTML><![CDATA[, ]]></HTML>
<Column SubColumnNumber="2" HTMLEncode="TRUE"/>
<HTML><![CDATA[ ]]></HTML>
<Column SubColumnNumber="3" HTMLEncode="TRUE"/>
</Default>
</Switch>
</RenderPattern>
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
Procedimiento para crear una definición de tipo de campo personalizado