ProjectedFields 元素(视图)

上次修改时间: 2015年3月9日

适用范围: SharePoint Foundation 2010

本文内容
属性
子元素
父元素
出现次数

指定在查询中联接了一个或多个其他列表时可以在视图中包含的联接列表中的字段。

<ProjectedFields>   
  <Field ... />  
  <Field ... />
</ProjectedFields>

属性

子元素

Field

备注

存在 Field 子元素的最大数目。根据定义,列表中允许的最大字段数与列表中已有的字段数之间的差即为 Field 子元素的最大数目。

父元素

View

出现次数

备注

View 元素不能包含 ProjectedFields 元素,除非它具有一个 Joins 元素,并且该元素至少具有一个 Join 子元素。不过,构成 SPQuery.ProjectedFields 属性的值的 ProjectedFields 元素(因而不是 View 元素的子元素)可用于支持不包含 Joins 元素的隐式联接。我们不建议使用不包含 Joins 元素的联接。通过始终使用显式的 Join 元素,将可以使您的解决方案最大可能地与 Microsoft SharePoint Foundation 的未来版本兼容。有关使用 ProjectedFields 元素的隐式联接的详细信息,请参阅列出联接和投影

最小值:0

最大值:1

备注

如果联接列表的字段未在 ProjectedFields 中表现,则它不能包含在 ViewFields 元素中。

示例

下面的示例说明如何将其他字段添加到由查询返回的结果中。List 属性的值是外部列表的别名。此别名在 Join 元素(视图) 中定义。ShowField 属性必须设置为外部字段的内部名称。

Type 属性不指示字段的数据类型,这与它在 Field 元素中通常的行为不同。当 Field 元素是 ProjectedFields 元素的子元素时,Type 只指示 Join 元素(在 ProjectedFields 元素依赖的 Joins 元素中)是否基于现有的列表间查找关系。从 SharePoint Foundation 2010 开始,所有联接都必须基于现有的查找关系,因此,Type 始终具有值"Lookup"。当字段是 ProjectedFields 元素的子元素时,将不会指示字段的实际数据类型。但是,字段的数据类型确实很重要,因为只有以下类型的字段才可以包含在 ProjectedFields 元素中:

  • Calculated(视为纯文本)

  • ContentTypeId

  • Counter

  • Currency

  • DateTime

  • Guid

  • Integer

  • Note(只有一行)

  • Number

  • Text

<ProjectedFields>
  <Field
    Name=’CustomerCity’
    Type=’Lookup’
    List=’customerCities’
    ShowField=’Title’ />
</ProjectedFields>

有关 ProjectedFields 元素(其子 Field 元素具有 FieldRef 属性而不是 List 属性)的示例,请参阅列出联接和投影