Elemento RenderPattern (Tipos de campo)
Define el Lenguaje de marcado de aplicaciones de colaboración (CAML) propiamente dicho, el HTML y las secuencias de comandos que puede usar Windows SharePoint Services 3.0, como alternativa a un control de plantilla de representación (archivo .ascx), para representar el tipo de campo en la interfaz de usuario. Además, en las vistas de listas, este elemento representa los encabezados de columna en función del tipo de campo seleccionado.
<RenderPattern Name="Text">
</RenderPattern>
Atributos
Atributo | Descripción |
---|---|
Name |
Cadena requerida. 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
Todos los tipos de campo deben tener un tipo de HeaderPattern del elemento RenderPattern, ya sea directamente o por herencia, porque no existe ningún sistema alternativo para la representación de los encabezados de las columnas. 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 utilizar elementos Switch para probar si la ordenación o el filtrado está habilitado para la columna. Consulte C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML\FLDTYPES.XML
para ver ejemplos.
DisplayPattern
Todos los tipos de campo generalmente deben tener un tipo de DisplayPattern del elemento RenderPattern (mediante la herencia, si no directamente) para que se pueda representar el campo en cada una de las filas de una vista de lista. El tipo de DisplayPattern de RenderPattern también se utiliza para representar la mayoría de los campos en el modo de presentación; por ejemplo, en la página de presentación (elemento de lista). Como alternativa, un campo se puede representar en el modo de presentación (pero no en las vistas de listas) por medio de un control de representación (.ascx file). Sin embargo, la principal ventaja de utilizar un control de representación es proporcionar validación y procesamiento de datos, y dichas funciones no son necesarias cuando los datos (válidos o no) sólo se muestran en lugar de crearse o editarse. Por este motivo, ninguno de los tipos de campo que se incluyen con Windows SharePoint Services 3.0 utiliza un control de representación en vez de un tipo de DisplayPattern del elemento de RenderPattern para representar el campo en el modo de presentación. Probablemente, todos los tipos de campos personalizados que cree también utilizarán un DisplayPattern para el modo de presentación.
Nota
Los dos tipos de campos que se incluyen con Windows SharePoint Services 3.0 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 utilizan para representar un campo en el modo nuevo y en el de edición, respectivamente, cuando el campo no necesita de procesamiento o validación de datos importantes cuando un elemento de lista que contenga el campo se haya creado o editado. Los campos de notas de formato libre, por ejemplo, no se pueden validar porque cualquier texto es un valor válido. De modo parecido, los campos de selección y de búsqueda, por definición, limitan las opciones del usuario sólo a valores válidos. Otros campos, como la moneda y fecha y hora, sólo necesitan una validación mínima que se puede asignar mediante una secuencia de comandos.
Sin embargo, los campos personalizados que crea y se heredan de cualquiera de estos tipos pueden requerir un procesamiento más importante. Si es así, utilice un control de representación para representar el campo. Generalmente, de hecho, la razón por la que necesita un campo personalizado es precisamente porque ninguno de los campos que se incluyen con Windows SharePoint Services 3.0 contiene la validación de datos que necesita.
Consulte C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML\FLDTYPES.XML
para ver ejemplos de los tipos NewPattern y EditPattern de RenderPattern.
RenderPatterns para tipos de campos personalizados derivados de varias columnas
En el marcado de RenderPattern para un campo personalizado de varias columnas, utilice 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, consulte 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
Otros recursos
Tutorial: Crear un tipo de campo personalizado
Tipos de campos personalizados
Clases de campos personalizados
Representación de propiedades de tipo de campo personalizado
Definición de tipo de campo personalizado
Clases de campos de varias columnas personalizados