View 元素 (List)

适用于: SharePoint 2016 |SharePoint Foundation 2013 |SharePoint Online |SharePoint Server 2013

在列表定义 (Schema.xml) 中,定义基于 Microsoft SharePoint Foundation 的网站中的列表的视图,其中每个列表可以包含多个视图。

注意

SharePoint Foundation 2010 使用 XSLT 定义列表视图,并维护 视图架构 以实现向后兼容性。 有关 XSLT 列表视图的信息,请参阅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>

元素和属性

下面各部分介绍了属性、子元素和父元素。

Attributes

属性 说明
AggregateView
可选属性,类型为 Boolean。 若要将视图指定为 XML 表单库中使用的“合并表单”视图,则为 TRUE。 默认情况下,XML 表单库具有一个最初被隐藏的“合并表单”视图。 当使用 XML 编辑器将 XML 表单属性 (XFP) 文件连同该编辑器使用的模板一起发布到库的 Forms 目录时,AggregateView 属性会标识“合并表单”视图。 可以显示或隐藏该视图,具体取决于库的列表模板或定义是否支持数据合并。
BaseViewID
可选属性,类型为 Integer。 指定基视图的 ID。
ContentTypeID
可选属性,类型为 Text。 指定与视图关联的内容类型的 ID。
CssStyleSheet
可选 文本
DefaultView
可选属性,类型为 Boolean。 若要指定该视图为默认视图,则为 TRUE
DefaultViewForContentType
可选属性,类型为 Boolean。 若要指定视图是内容类型的默认视图,则为 TRUE
DisplayName
可选属性,类型为 Text。 指定在“快速启动”栏上显示的视图名称。
FailIfEmpty
可选属性,类型为 Boolean。 在视图未返回任何项的情况下,若要返回一个空白页或 HTTP 错误代码,而不是呈现 ViewEmpty 元素,则为 TRUE。 用于对客户端应用程序的视图进行编程操作,以便客户端应用程序将不必为了确定视图是否为空来分析文档。
FileDialog
可选属性,类型为 Boolean如果为 TRUE ,则指定在 SharePoint Foundation 上下文中使用的应用程序的文件对话框中显示视图,并分析输出 HTML 以确定列表的内容。
FPModified
可选属性,类型为 Boolean。 如果视图已通过在网页编辑器中的编辑进行了更改,并且该视图不再可由 SharePoint Foundation 用户界面 (UI) 进行自定义,则为 TRUE
自由
可选属性,类型为 Boolean。 若要在呈现字段时指定某些字段类型的替代字段格式,则为 TRUE。 尤其是,此属性将影响对自定义非表格格式视图类型中特别有用的数字列的对齐方式。
Hidden
可选属性,类型为 Boolean。 若要隐藏视图,则为 TRUE
ImageUrl
可选 文本。 为列表视图的标题区域中显示的图像指定相对于服务器的 URL, /_layouts/images/pgrpicon.png例如 。
IncludeRootFolder
可选属性,类型为 Boolean。 若要指定在列表视图中返回根文件夹,则为 TRUE
List
可选属性,类型为 IntegerText。 指定列表的类型。 此值可以是列表模板的 ID(一个整数),也可以是网站中设置的列表的 URL(一个字符串)。 最好使用 Text,因为 Integer 可能不够明确(例如,网站中有两个通知列表而您指定了 List=104)。
MobileDefaultView
可选属性,类型为 Boolean。 若要指定标准 SharePoint 列表视图是默认的移动视图,则为 TRUE。 只可以将每个列表中的一个视图指定为默认的移动视图。
MobileItemLimit
可选属性,类型为 Integer
MobileUrl
可选 文本
MobileView
可选属性,类型为 Boolean。 若要指定标准 SharePoint 列表视图也是移动视图,则为 TRUE。 此属性不适用于日历、数据表或甘特图视图。
ModerationType
可选 文本。 指定内容审批类型,可以是 HideUnapprovedContributorModeratorHideUnapproved 视图向仅具有读取项目的权限的用户隐藏未审批的草稿项目。 Contributor 视图向当前用户显示挂起和被拒绝的项目。 Moderator 视图仅供具有管理列表权限的用户访问,并且为所有用户显示挂起和被拒绝的项目。
名称
可选 文本。 为视图指定的名称;用于选择用户界面中具有不同名称的视图,以及在为 Lookup 字段指定筛选器时引用指定的视图。
OrderedView
可选属性,类型为 Boolean。 若要指定对视图进行排序,则为 TRUE
PageType
可选属性,类型为 Text。 指定在其中使用视图的表单的类型。

可能的值包括:

DEFAULTVIEW 默认视图。
DIALOGVIEW “文件”对话框视图。
DISPLAYFORM 列表项的显示窗体。
DISPLAYFORMDIALOG 文件对话框的显示窗体。
EDITFORM 编辑列表项的窗体。
EDITFORMDIALOG “编辑文件”对话框的窗体。
无效 未使用。
MAXITEMS 未使用。
NEWFORM 列表项的新窗体。
NEWFORMDIALOG 文件对话框的新窗体。
NORMALVIEW 普通视图。
SOLUTIONFORM 解决方案窗体。
视图 视图,包括默认视图和普通视图。
路径
可选属性,类型为 Text。 指定视图的文件名。
ReadOnly
可选属性,类型为 Boolean。 若要使视图为只读,则为 TRUE
RecurrenceRowset
可选属性,类型为 Boolean。 若要扩展视图中的定期事件并显示每个定期事件的每个实例,则为 TRUE。 默认值为 FALSE
ReqAuth
可选属性,类型为 Boolean
RequiresClientIntegration
可选属性,类型为 Boolean。 若要使用启动客户端应用程序的功能,则为 TRUE;否则,用户必须本地处理文档并上载更改。
RowLimit
可选属性,类型为 Integer。 仅适用于 HTML 视图类型。 指定可在任一页上呈现的最大行数。

当超出行限制时,NextPrevious 按钮允许查看返回的记录集的所有内容。

如果未指定 RowLimit,则返回行数的默认值为 50。 如果为视图类型指定了 None ,则会在一个视图中返回记录集的所有行。

呈现视图时,呈现变量 ViewHasNextViewHasPrev 将设置为 TRUEFALSE,具体取决于当前视图是否已达到数据集中的行限制。 可以在连续的页面定义中使用这些变量,以便在页面上呈现 NextPrevious 按钮,如以下示例所示:
XML<Switch> <Expr><GetVar Name="ViewHasPrev"/></Expr> <Case Value="TRUE"> <![CDATA[...Previous button defined here... ]]> </Case></Switch>

当当前显示器中存在向前或向后分页内容时,变量 NextPageURLPrevPageURL 也设置为非空白值。 通过构造 NextPrevious 按钮,可以使用这些变量以便其具有用于访问下一页内容的正确的 URL。
Scope
可选属性,类型为 Text。 指定文档库的视图的递归范围。

可能的值包括:
FilesOnly — 仅显示特定文件夹的文件。
Recursive — 显示所有文件夹的所有文件。
RecursiveAll — 显示所有文件夹的所有文件和所有子文件夹。

若未设置此属性,则视图将仅显示特定文件夹的文件和子文件夹。 此属性的值对应于 SPView 类的 Scope 属性。
SetupPath
可选 文本。 指定安装目录中包含视图的 .aspx 页的文件夹相对于站点的路径, pages\viewpage.aspx例如 。
ShowHeaderUI
可选属性,类型为 Boolean。 若要呈现在标题显示模式中使用的所有 FieldRef 元素,而不使用 HTML 来修饰用户界面,则为 FALSE。 换句话说,当设置此模式时,用户界面不能按照列标题中的超链接进行排序和筛选。 默认值为 TRUE
TabularView
可选属性,类型为 Boolean
TargetId
可选 文本
TargetType
可选 文本。 可能的值包括 ListContentType
螺纹
可选属性,类型为 Boolean。 若要在视图中应用内部分组,则为 TRUE。 线程视图是基于内置线程列(假定列表中存在该列)构建的。 作为辅助排序方式,将按照此字段对视图进行排序。 如果已指定对视图中的其他列进行排序或分组,则在线程列排序顺序之前应用这些规则。 因此,可以将按照主题分组的所有讨论收集在一起,并可以在该集合下显示消息线程。

若选择 TRUE,则当在以线索组织的讨论列表视图中使用 RowLimit 元素时,该元素具有不同的含义。 它会指定要返回的讨论线程数(其中,一个线程可以包含一个或多个项),而不是指定要返回的项数。 除了将 Threaded 属性设置为 TRUE 之外,还必须按照线程 ID 对线程视图进行排序;否则,此行限制行为将不会生效。
ToolbarTemplate
可选属性,类型为 Text。 指定用于视图工具栏的预定义工具栏模板的名称。
类型
可选属性,类型为 Text。 指定视图的呈现类型。 该类型是常见的枚举 HTML 视图,并可设置为 HTMLChartPivot
Url
可选属性,类型为 Text。 指定视图的 URL。
WebPartOrder
可选属性,类型为 Integer。 指定 Web 部件在区域中的垂直定位。
WebPartZoneID
可选 文本。 指定 Web 部件的区域。

子元素

父元素

出现次数

  • 最小值:0
  • 最大值:无限制

备注

列表和文档摘要信息的主要视图类型是 HTML 视图。 HTML 视图通常是显示一个或多个列表中的信息的纵栏式视图。 要显示的数据由视图中显示的字段描述。 有关视图在 Microsoft SharePoint Foundation 2010 中的工作方式的信息,请参阅列表视图

定义 HTML 视图的主要属性如下所示:

  • 其名称。
  • 数据源规范(通常是单个列表或文档库)。
  • 要应用于数据源的筛选器。
  • 要显示的字段的集合。
  • 要显示的项目的排序顺序。 排序顺序的一种特殊情况是分组。
  • 用于呈现视图的 HTML 模板。

View 元素是页面呈现的核心,它将为在特定视图中应用的字段、排序和筛选器生成一个 SQL 查询。 View 元素遍历由查询返回的数据集并对返回的每个行执行 ViewBody 元素。 在 ViewBody 元素中,Fields 元素枚举可用于处理每个字段,也可以在 Field 元素中按照名称引用每个字段。

每个视图具有一个通常由 GUID 表示的内部名称。 可以使用 View/> 标记在页面上<呈现视图。

示例

下面的示例演示如何在视图正文内使用字段枚举,并安排一个基础表以便在浏览器中显示列表。

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

请注意,在前一节中,字段枚举在 ViewHeader 节中用于为视图创建列标题。


在示例的以下节中,ViewFields 节包含在 View 元素中,以便指定将在视图中枚举的字段。

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

注意

如果视图具有 Joins 元素,则联接的列表中的字段将可以包含在 ViewFields 中,前提是它们在 ProjectedFields 元素中也已经明细化。


在示例的最后的节中,Query 元素用于指定符合特定条件的结果集,如以下示例所示,将返回由 Mary 或 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>

下一个视图示例显示一系列段落。 Query 元素不仅指定按修改日期) 顺序 (排序顺序,还指定筛选器 (仅显示其 Expires 属性大于或等于当前日期) 的项目。

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

另请参阅