FieldSwitch Element (View)

Last modified: July 15, 2011

Applies to: SharePoint Foundation 2013 | SharePoint Server 2013

In this article
Attributes
Child Elements
Parent Elements
Occurrences

Obsolete. Allows for conditional rendering based on the value of a field property.


<FieldSwitch
   StripWS = "TRUE" | "FALSE">
       <Expr></Expr>
       <Case Value="Value_1"></Case>
       <Case Value="Value_2"></Case>
       ...
       <Default></Default>
</FieldSwitch>

Attribute

Description

StripWS

Optional Boolean. TRUE to remove white space from the beginning and end of the value returned by the element.

Minimum: 0

Maximum: Unbounded

The FieldSwitch element and the Switch element use identical syntax, but a FieldSwitch element is evaluated only once per request for each view in which it applies to a view body or for each field in which it applies to a display pattern. The FieldSwitch element substantially optimizes performance in cases where different Collaborative Application Markup Language (CAML) code paths are required, depending on a field property (for example, whether rich text formatting is enabled) whose value does not change during the rendering process.

A FieldSwitch element contains an Expr element, any number of Case elements, and a Default element. The value of the Expr element is compared against the Value attribute of each Case element. When a match is found, the FieldSwitch element returns the value of the matching Case element. If no match is found, and if a Default element is given, then the FieldSwitch element returns the value of the Default element. If no Default element is specified and none of the Case values match the Expr value, then the FieldSwitch element returns an empty string.

This element does not require any particular parent element.

The following example from the FldTypes.xml file defines two different rendering patterns for a Note field, depending on whether the field has rich text formatting.

<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>
Show: