RenderPattern 元素 (字段类型)

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

重要

本主题介绍现在在列表视图以及“显示”表单、“编辑”表单和“新建”表单中呈现自定义字段类型采用的过时方法中使用的标记。 它仅用于帮助调试最初针对早期版本的 SharePoint Foundation 开发的自定义字段类型的人员。 有关建议的方法的信息,请参阅Field Rendering TemplatesPatterns of Custom Field Rendering

其呈现通过 RenderPattern 标记定义的自定义字段仍可正常呈现在表单中。 但是,默认情况下,SharePoint Foundation 使用 XSLT 样式表在列表视图上呈现字段,即使是使用 RenderPattern 定义列表视图呈现的旧自定义字段。 若要启用此类字段的呈现,必须将元素 <Field Name="CAMLRendering">TRUE</Field> 添加到字段类型定义文件中包含的 FieldTypes 元素 () fldtype*.xml

RenderPattern 定义实际的协作应用程序标记语言 (CAML) 、HTML 和脚本,SharePoint Foundation 可用于在 UI 中呈现字段类型。 此外,在列表视图中,此元素基于所选的字段类型呈现列标题。

<RenderPattern Name="Text">
</RenderPattern>

元素和属性

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

Attributes

属性 说明
名称
必需的 字符串 。 表示您在此 RenderPattern 元素中定义的呈现模式的名称。

有效值包含:
- HeaderPattern。 通过在 <Field Name="CAMLRendering">TRUE</Field> 文件) 的包含 FieldTypes 元素中包含 CAML 呈现 (,定义列表视图页上的列标题的 fldtypes*.xml 呈现。

- DisplayPattern。 定义“显示”(列表项)表单的字段呈现。 当通过将包含在文件) 的 FieldTypes 元素fldtypes*.xml中 (<Field Name="CAMLRendering">TRUE</Field>启用 CAML 呈现时,DisplayPattern 还会定义列表视图页上字段的呈现。

- EditPattern。 定义字段在“编辑”(列表项)表单上的呈现模式。

- NewPattern。 定义字段在“新建”(列表项)表单上的呈现。

- PreviewDisplayPattern。 定义在 WYSIWYG (“你所看到的是你得到的”) 网站设计器(如 SharePoint Designer)中使用的预览,预览该字段在显示模式下如何使用虚构数据。

- PreviewEditPattern。 定义在 WYSIWYG 网站设计器(如 SharePoint Designer)中使用的预览,预览该字段在编辑模式下如何使用虚构数据。

- PreviewNewPattern。 定义在 WYSIWYG 网站设计器(如 SharePoint Designer)中使用的预览,预览该字段在使用虚构数据的新模式下的外观。

子元素

没有显式定义,但此元素是 视图架构中的 CAML 标记容器。

父元素

备注

继承 RenderPatterns

如果没有为字段类型提供具有特定的 Name 值的 RenderPattern,则该字段类型将从其父字段类型继承使用该名称的 RenderPattern

HeaderPattern

如果启用了 CAML 呈现,则字段类型必须具有 RenderPattern 元素的 HeaderPattern 类型(直接或通过继承)或列表视图上字段的列标题不呈现。 当无法对字段类型进行排序或筛选时,HeaderPattern 中的标记可以非常简单。 但是,如果可以对字段类型进行排序或筛选,则标记可能会变得相当复杂,因为标头不仅充当列的标题,还充当用于排序和筛选的下拉菜单控件。 此外,由于特定列可以禁用排序和筛选功能 (即使列所基于的字段类型支持它们) ,标记必须使用 Switch 元素来测试是否为列启用了排序或筛选。 有关示例,请参阅 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\XML\FLDTYPES.XML。

DisplayPattern

如果启用了 CAML 呈现,则字段类型必须具有通过继承 (的 RenderPattern 元素的 DisplayPattern 类型,如果不是直接) ,则可以在列表视图上呈现该字段。 这不需要在显示模式下呈现字段,例如在显示 (列表项) 页上,因为字段也可以通过 呈现控件 (.ascx 文件) 在显示模式下呈现。 使用 SharePoint Foundation 附带的旧字段类型均不使用呈现控件,而不使用 DisplayPattern 类型的 RenderPattern 元素在显示模式下呈现字段。

RenderPatternDisplayPattern 类型还可用于在列表视图的每一行中呈现字段。 默认情况下,SharePoint Foundation 在 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\LAYOUTS\XSL 中的文件中使用 XSLT 标记 fldtypes*.xsl 来呈现列表视图上的字段。 fldtypes*.xml但是,在 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\XML 中检查文件是否存在字段的<Field Name="CAMLRendering">TRUE</Field>包含 FieldTypes 元素中。 如果存在,则 DisplayPattern 可用于在列表视图中呈现字段。

备注

使用 SharePoint Foundation 附带的两个旧字段类型在 FLDTYPES.XML 中不具有 DisplayPattern 类型的 RenderPattern : (1) ContentTypeId 字 段永远不会可见。 (2) Computed 字段根据显示其的每个列表的 schema.xml 中的 Field 元素中的 DisplayPattern 元素呈现在列表视图上和“显示”模式下。

NewPattern 和 EditPattern

当创建或编辑包含字段的列表项时,如果字段不需要重要的数据处理或数据验证,则 RenderPatternNewPatternEditPattern 类型将分别用于在“新建”模式和“编辑”模式中呈现字段。例如,无法验证自由格式的备注字段,因为任何文本都是一个有效的值。同样,根据定义,选项字段和查阅字段将限制用户只能选择有效值。货币和日期时间等其他字段仅需要可在脚本中编码的最低验证。

有关 NewPatternEditPattern 类型的 RenderPatterns 的示例,请参阅 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\XML\FLDTYPES.XML。

多列派生自定义字段类型的 RenderPattern

在自定义的多列字段的 RenderPattern 标记中,Column 元素的 SubcolumnNumber 属性可用于在多列字段类型中指定单个列。有关多列字段类型的详细信息,请参阅 Custom Multicolumn Field Classes

示例

以下示例为从 MultiColumn 类型继承的自定义字段类型定义显示呈现模式。 该字段用于存储美国地址。 第一个子库存储街道地址,后跟 HTML 换行符。 下一个子列存储城市名称,后跟逗号和空间。 第三个子列存储状态,在空间之后,最后一个子列存储邮政编码。

<RenderPattern Name="DisplayPattern">
  <Switch>
    <Expr><Column/></Expr>
    <Case Value="">
    </Case>
    <Default>
      <Column SubColumnNumber="0" HTMLEncode="TRUE"/>
      <HTML><![CDATA[<BR>]]></HTML>
      <Column SubColumnNumber="1" HTMLEncode="TRUE"/>
      <HTML><![CDATA[, &amp;nbsp;]]></HTML>
      <Column SubColumnNumber="2" HTMLEncode="TRUE"/>
      <HTML><![CDATA[ &amp;nbsp;]]></HTML>
      <Column SubColumnNumber="3" HTMLEncode="TRUE"/>
      </Default>
  </Switch>
</RenderPattern>

另请参阅