View element (List)

Applies to: SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013

In a list definition (Schema.xml), defines a view for a list in a website based on Microsoft SharePoint Foundation, where each list can contain a number of views.

Note

SharePoint Foundation 2010 uses XSLT to define list views, and the View schema is maintained for backward compatibility. For information about XSLT list views, see List Views.

<View
  AggregateView = "TRUE" | "FALSE"
  BaseViewID = "Integer"
  ContentTypeID = "Text"  CssStyleSheet = "Text"
  DefaultView = "TRUE" | "FALSE"
  DefaultViewForContentType = "TRUE" | "FALSE"
  DisplayName = "Text"
  FailIfEmpty = "TRUE" | "FALSE"
  FileDialog = "TRUE" | "FALSE"
  FPModified = "TRUE" | "FALSE"
  FreeForm = "TRUE" | "FALSE"
  Hidden = "TRUE" | "FALSE"
  ImageUrl = "Text"
  IncludeRootFolder = "TRUE" | "FALSE"
  List = "Integer" | "Text"
  MobileDefaultView = "TRUE" | "FALSE"  MobileItemLimit = "Integer"  MobileUrl = "Text"
  MobileView = "TRUE" | "FALSE"
  ModerationType = "Text"
  Name = "Text"
  OrderedView = "TRUE" | "FALSE"
  PageType = "Text"
  Path = "Text"
  ReadOnly = "TRUE" | "FALSE"
  RecurrenceRowset = "TRUE" | "FALSE"
  ReqAuth = "TRUE" | "FALSE"
  RequiresClientIntegration = "TRUE" | "FALSE"
  RowLimit = "Integer"
  Scope = "Text"
  SetupPath = "Text"
  ShowHeaderUI = "TRUE" | "FALSE"  TabularView = "TRUE" | "FALSE"
  TargetId = "Text"
  TargetType = "List" | "ContentType"
  Threaded = "TRUE" | "FALSE"
  ToolbarTemplate = "Text"
  Type = "HTML" | "Chart" | "Pivot"
  Url = "Text"
  WebPartOrder = "Integer"
  WebPartZoneID = "Text">
</View>

Elements and attributes

The following sections describe attributes, child elements, and parent elements.

Attributes

Attribute Description
AggregateView
Optional Boolean. TRUE to specify that the view is a Merge Forms view used in an XML Form library. By default, an XML Form library has a Merge Forms view that is initially hidden. When an XML editor is used to publish an XML Form Properties (XFP) file to the Forms directory of the library, along with a template used by the editor, the AggregateView attribute identifies the Merge Forms view. This view can be made visible or hidden, depending on whether the list template or definition for the library supports data merging.
BaseViewID
Optional Integer. Specifies the ID of the base view.
ContentTypeID
Optional Text. Specifies the ID of the content type with which the view is associated.
CssStyleSheet
Optional Text.
DefaultView
Optional Boolean. TRUE to specify that the view is the default view.
DefaultViewForContentType
Optional Boolean. TRUE to specify that the view is the default view for a content type.
DisplayName
Optional Text. Specifies the name of the view that is displayed on the Quick Launch bar.
FailIfEmpty
Optional Boolean. If the view returns no items, TRUE to return a blank page and an HTTP error code instead of rendering the ViewEmpty element. Used for programmatic manipulation of views from a client application, so that the client application will not have to parse a document in order to discover whether the view is empty.
FileDialog
Optional Boolean. TRUE to specify that the view is displayed in file dialog boxes for applications that are used within the context of SharePoint Foundation, and that parse the output HTML to determine the contents of the list.
FPModified
Optional Boolean. TRUE if the view has been altered through editing in a webpage editor, and the view is no longer customizable by the SharePoint Foundation user interface (UI).
FreeForm
Optional Boolean. TRUE to specify alternate field formatting for certain field types when fields are rendered. In particular, this attribute affects the alignment of number columns, which is particularly useful in custom nontabular view types.
Hidden
Optional Boolean. TRUE to hide the view.
ImageUrl
Optional Text. Specifies the server-relative URL for the image that is displayed in the title area of the list view, for example, /_layouts/images/pgrpicon.png.
IncludeRootFolder
Optional Boolean. TRUE to specify that the root folder is returned in the list view.
List
Optional Integer or Text. Specifies the type of list. This value can be either the ID of the template for a list (an integer), or the URL to a list provisioned in the site (a string). Best practice is to use Text, because Integer might not be specific enough (e.g., if there are two announcements lists in the site and you specify List=104).
MobileDefaultView
Optional Boolean. TRUE to specify that the standard SharePoint list view is the default mobile view. Only one view per list can be designated as the default mobile view.
MobileItemLimit
Optional Integer.
MobileUrl
Optional Text.
MobileView
Optional Boolean. TRUE to specify that the standard SharePoint list view is also a mobile view. This attribute does not apply to Calendar, Datasheet, or Gantt views.
ModerationType
Optional Text. Specifies the Content Approval type, which can be HideUnapproved, Contributor, or Moderator. The HideUnapproved view hides unapproved draft items from users who only have permission to read items. The Contributor view shows the pending and rejected items for the current user. The Moderator view is accessible only to users who have managed list permissions and shows the pending and rejected items for all users.
Name
Optional Text. The name given to the view; used to select a different named view in the UI as well as to refer to a named view when specifying a filter for a Lookup field.
OrderedView
Optional Boolean. TRUE to specify that the view is ordered.
PageType
Optional Text. Specifies the type of form in which the view is used.

Possible values include the following:

DEFAULTVIEW Default view.
DIALOGVIEW File dialog box view.
DISPLAYFORM Display form for list items.
DISPLAYFORMDIALOG Display form for a file dialog box.
EDITFORM Edit form for list items.
EDITFORMDIALOG Edit form for a file dialog box.
INVALID Not used.
MAXITEMS Not used.
NEWFORM New form for list items.
NEWFORMDIALOG New form for a file dialog box.
NORMALVIEW Normal view.
SOLUTIONFORM Solution form.
VIEW View, including both default view and normal view.
Path
Optional Text. Specifies the file name for the view.
ReadOnly
Optional Boolean. TRUE to make the view read-only.
RecurrenceRowset
Optional Boolean. TRUE to expand recurring events in the view and display each instance of each recurring event. The default value is FALSE.
ReqAuth
Optional Boolean.
RequiresClientIntegration
Optional Boolean. TRUE to use features that launch client applications; otherwise, users must work on documents locally and upload changes.
RowLimit
Optional Integer. Applies to the HTML view type only. Specifies the maximum number of rows to render on any one page.

When the row limit is exceeded, the Next and Previous buttons allow all of the returned recordset to be viewed.

If RowLimit is not specified, the default number of Rows returned is 50. If None is specified for the view type, all the rows of the recordset are returned in one view.

When a view is rendered, the render variables ViewHasNext and ViewHasPrev are set to TRUE or FALSE, based on whether the current view has reached the row limit from the dataset. These variables can be used in successive page definitions to render Next and Previous buttons on the page, as in the following example:
XML<Switch> <Expr><GetVar Name="ViewHasPrev"/></Expr> <Case Value="TRUE"> <![CDATA[...Previous button defined here... ]]> </Case></Switch>

The variables NextPageURL and PrevPageURL are also set to nonblank values when there is forward or backward paging content from the current display. These variables can be used by constructing the Next and Previous buttons so that they have the correct URL to access the next page of content.
Scope
Optional Text. Specifies the recursive scope for a view of a document library.

Possible values include the following:
FilesOnly—Show only the files of a specific folder.
Recursive—Show all files of all folders.
RecursiveAll—Show all files and all subfolders of all folders.

If this attribute is not set, the view displays only the files and subfolders of a specific folder. The value of this attribute corresponds to the Scope property of the SPView class.
SetupPath
Optional Text. Specifies the site-relative path to the folder in the setup directory that contains the .aspx page for the view, for example, pages\viewpage.aspx.
ShowHeaderUI
Optional Boolean. FALSE to render all FieldRef elements used in the header display mode without decorating the UI with HTML. In other words, when this mode is set, the UI does not provide sorting and filtering as hyperlinks in the column header. The default value is TRUE.
TabularView
Optional Boolean.
TargetId
Optional Text.
TargetType
Optional Text. Possible values include List and ContentType.
Threaded
Optional Boolean. TRUE to apply inner grouping in the view. A threaded view is constructed based on the built-in threading column (assumed to exist for the list). The view is sorted on this field as the secondary sort. If other columns in the view are specified as sorted or grouped, those rules are applied before the threading column sort order. As a result, all discussions grouped by a topic can be collected together, and the message threading can be displayed beneath the collection.

When TRUE, the RowLimit element has a different meaning when used on a threaded discussion board list view. Instead of specifying the number of items to return, it specifies the number of discussion threads to return, where a thread could consist of one or more items. In addition to having the Threaded attribute set to TRUE, a threaded view must be sorted by the thread ID; otherwise, this row limit behavior does not take effect.
ToolbarTemplate
Optional Text. Specifies the name of the predefined toolbar template that is used for the view toolbar.
Type
Optional Text. Specifies the rendering type of the view. The type is the common enumerated HTML view and can be set to HTML, Chart, or Pivot.
Url
Optional Text. Specifies the URL for the view.
WebPartOrder
Optional Integer. Specifies the vertical positioning of the web part within a zone.
WebPartZoneID
Optional Text. Specifies the zone for the web part.

Child elements

Parent elements

Occurrences

  • Minimum: 0
  • Maximum: Unbounded

Remarks

The principal view type for list and document summary information is the HTML view. An HTML view is generally a columnar view that displays information from one or more lists. The data to be displayed is described by the fields that are shown in the view. For information about how views work in Microsoft SharePoint Foundation 2010, see List Views.

The primary attributes that define an HTML view are as follows:

  • Its name.
  • The data source specification (usually a single list or document library).
  • The filter to be applied to the data source.
  • The collection of fields to be displayed.
  • The sort order of the items to be displayed. A special case of sort order is grouping.
  • An HTML template for rendering the view.

The View element is central to page rendering and generates a SQL query for the fields, sorts, and filters that are applied in a particular view. The View element iterates through the data set returned by the query and executes the ViewBody element for each row that is returned. Within the ViewBody element, a Fields element enumeration can be used to handle each field, or each field can be referred to individually by name within a Field element.

Each view has an internal name that is typically represented by a GUID. The view can be rendered on a page by using the <View/> tag.

Examples

The following example illustrates the use of a fields enumeration within a view body, laying out a basic table for displaying a list in the browser.

<View Name="MyCustomView">
    <ViewHeader>
      <HTML><![CDATA[<TABLE><TR>]]></HTML>
      <Fields>
        <HTML><![CDATA[<TH>]]></HTML>
        <Field/>
        <HTML><![CDATA[</TH>]]></HTML>
      </Fields>
      <HTML><![CDATA[</TR>]]></HTML>
    </ViewHeader>
    <ViewBody>
      <HTML><![CDATA[<TR>]]></HTML>
        <Fields>
          <HTML><![CDATA[<TD>]]></HTML>
          <Field/>
          <HTML><![CDATA[</TD>]]></HTML>
        </Fields>
      <HTML><![CDATA[</TR>]]></HTML>
    </ViewBody>
    <ViewFooter>
      <HTML><![CDATA[</TABLE>]]></HTML>
    </ViewFooter>

Notice that in the previous section the fields enumeration is used within a ViewHeader section to create column headers for the view.


In the following section of the example a ViewFields section is included within the View element in order to specify which fields will be enumerated in the view.

    <ViewFields>
      <FieldRef Name="Created_x0020_By"/>
      <FieldRef Name="Last_x0020_Modified"/>
    </ViewFields>

Note

If the view has a Joins element, fields from the joined lists can be included in ViewFields, provided that they are also itemized in a ProjectedFields element.


In the last section of the example the Query element is used to specify a result set that meets certain criteria, as in the following example, which returns a list of all the documents in a library that are written by Mary or John.

    <Query>
      <Where>
        <Or>
          <Eq>
            <FieldRef Name="Created_x0020_By"/>
            <Value Type="Text">
              Mary
            </Value>
          </Eq>
          <Eq>
            <FieldRef Name="Created_x0020_By"/>
            <Value Type="Text">
              John
            </Value>
          </Eq>
        </Or>
      </Where>
      <OrderBy>
        <FieldRef Name="Last_x0020_Modified"/>
      </OrderBy>
    </Query>
</View>

The next view example displays a sequence of paragraphs. The Query element specifies not only a sort order (in order of modification date), but also a filter (only show items whose Expires property is greater than or equal to today's date).

<View Type="HTML" Name="Summary">
  <ViewBody ExpandXML="TRUE">
    <![CDATA[ <p><SPAN class=DocTitle><ows:Field Name="Title"/></SPAN>
      (<ows:Field Name="Author"/>, <ows:Field Name="Modified"/>)
      <ows:Limit><Field Name="Body"/></ows:Limit>
      </p>  ]]>
  </ViewBody>
  <Query>
    <Where>
      <Geq>
        <FieldRef Name="Expires"/>
        <Value Type="DateTime">
          <Today/>
        </Value>
      </Geq>
    </Where>
    <OrderBy>
      <FieldRef Name="Modified"/>
    </OrderBy>
  </Query>
  <ViewFields>
    <FieldRef Name="Summary"/>
    <FieldRef Name="Author"/>
    <FieldRef Name="Modified"/>
    <FieldRef Name="Body"/>
  </ViewFields>
</View>

See also