Elemento FieldSwitch (Vista)
Permite la representación condicional basándose en el valor de una propiedad de campo.
<FieldSwitch
StripWS = "TRUE" | "FALSE">
<Expr></Expr>
<Case Value="Value_1"></Case>
<Case Value="Value_2"></Case>
...
<Default></Default>
</FieldSwitch>
Atributos
Atributo | Descripción |
---|---|
StripWS |
Boolean opcional. TRUE para quitar el principio y el final del valor devuelto por el elemento. |
Elementos secundarios
Elementos primarios
Muchos |
Repeticiones
Mínimo: 0 Máximo: sin límite |
Comentarios
Los elementos FieldSwitch y Switch usan sintaxis idénticas, aunque un elemento FieldSwitch se evalúa una sola vez por solicitud para cada vista en la que se aplica a un cuerpo de vista o para cada campo en el que se aplica a un modelo de presentación. El elemento FieldSwitch optimiza sustancialmente el rendimiento en aquellos casos en los que son necesarias diferentes rutas de acceso al código del lenguaje de marcado de la aplicación de colaboración (CAML) (por ejemplo, en el caso de que se haya habilitado el formato de texto enriquecido) cuyo valor no cambia durante el proceso de representación.
Un elemento FieldSwitch contiene un elemento Expr, cualquier número de elementos Case y un elemento Default. El valor del elemento Expr se compara con el atributo Value de cada elemento Case. Cuando se encuentra una coincidencia, el elemento FieldSwitch devuelve el valor del elemento Case coincidente. Si no se especifica ningún elemento y se proporciona un elemento Default, el elemento FieldSwitch devolverá el valor del elemento Default. Si no se especifica ningún elemento Default y ninguno de los valores de Case coincide con el valor Expr, el elemento FieldSwitch devolverá una cadena vacía.
Este elemento no necesita ningún elemento primario determinado.
Ejemplo
El ejemplo siguiente del archivo FldTypes.xml define dos modelos de representación diferentes para un campo Note, en función de si el campo tiene formato de texto enriquecido.
<RenderPattern Name="DisplayPattern" DisplayName="DisplayPattern">
<FieldSwitch>
<Expr>
<Property Select="RichText" />
</Expr>
<Case Value="TRUE">
<Column AutoHyperLinkNoEncoding="TRUE" />
</Case>
<Default>
<Column HTMLEncode="TRUE" AutoHyperLink="TRUE"
AutoNewLine="TRUE" />
</Default>
</FieldSwitch>
</RenderPattern>