次の方法で共有


RenderPattern 要素 (フィールド型)

適用対象: SharePoint 2016 |SharePoint Foundation 2013 |SharePoint Online |SharePoint Server 2013

重要

このトピックでは、リスト ビューと表示、編集、および新しいフォームでユーザー設定フィールドの種類を表示する、現在使用されていない方法で使用されていたマークアップについて説明します。 これは、もともと以前のバージョンの SharePoint Foundation に対して開発されたユーザー設定フィールドの種類をデバッグしているユーザーを支援するためにのみ提供されます。 推奨される方法の詳細については、「 フィールド レンダリング テンプレートユーザー設定フィールド レンダリングのパターン」を参照してください。

RenderPattern マークアップでレンダリングが定義されているユーザー設定フィールドは、フォームで正しくレンダリングされます。 ただし、SharePoint Foundation では、既定では、リスト ビューのレンダリングが RenderPattern で定義されている従来のカスタム フィールドの場合でも、XSLT スタイルシートを使用してリスト ビューのフィールドをレンダリングします。 このようなフィールドのレンダリングを有効にするには、<Field Name="CAMLRendering">TRUE</Field>フィールド型定義ファイル (fldtype*.xml) 内の FieldTypes 要素に要素を追加する必要があります。

RenderPattern は、SharePoint Foundation が UI でフィールド型をレンダリングするために使用できる実際のコラボレーション アプリケーション マークアップ言語 (CAML)、HTML、スクリプトを定義します。 また、リスト ビューでは、この要素により、選択したフィールド型に基づいて列ヘッダーもレンダリングされます。

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

要素と属性

以下のセクションで、属性、子要素、親要素について説明します。

属性

属性 説明
名前
文字列型 (String) の値を使用します。 この RenderPattern 要素で定義する、レンダリング パターン名を表します。

有効な値は次のとおりです。
- HeaderPattern。 CAML レンダリングがオンになっている場合のリスト ビュー ページの列ヘッダーのレンダリングを定義します (ファイルの含まれている FieldTypes 要素に fldtypes*.xml を含めること<Field Name="CAMLRendering">TRUE</Field>によって)。

- DisplayPattern。 表示 (リスト アイテム) フォームのフィールドのレンダリングを定義します。 CAML レンダリングがオンになっている場合 (ファイルの FieldTypes 要素を含むにfldtypes*.xml含めること<Field Name="CAMLRendering">TRUE</Field>によって)、DisplayPattern はリスト ビュー ページでのフィールドのレンダリングも定義します。

- EditPattern。 編集 (リスト アイテム) フォームのフィールドのレンダリングを定義します。

- NewPattern。 新規作成 (リスト アイテム) フォームのフィールドのレンダリングを定義します。

- PreviewDisplayPattern。 SharePoint Designer などの WYSIWYG ("何が表示されるか") サイト デザイナーで使用するために、架空のデータを使用してフィールドが表示モードでどのように表示されるかのプレビューを定義します。

- PreviewEditPattern。 SharePoint Designer などの WYSIWYG サイト デザイナーで使用するために、架空のデータを使用してフィールドを編集モードで表示する方法のプレビューを定義します。

- PreviewNewPattern。 SharePoint Designer などの WYSIWYG サイト デザイナーで使用するために、架空のデータを使用した新しいモードでのフィールドの表示方法のプレビューを定義します。

子要素

明示的に定義されていませんが、この要素は ビュー スキーマからの CAML マークアップのコンテナーです。

親要素

注釈

RenderPattern の継承

特定の Name の値を持つ RenderPattern がフィールド型に対して指定されていない場合、フィールド型はその親フィールド型の名前の RenderPattern を継承します。

HeaderPattern

CAML レンダリングが有効になっている場合、フィールド型には RenderPattern 要素の HeaderPattern 型が必要です。直接または継承によって、またはリスト ビューのフィールドの列ヘッダーがレンダリングされません。 HeaderPattern のマークアップは、フィールド型を並べ替えたりフィルター処理したりできない場合に非常に単純な場合があります。 ただし、フィールド型を並べ替えたりフィルター処理したりできる場合、ヘッダーは列のタイトルとしてだけでなく、並べ替えやフィルター処理のドロップダウン メニュー コントロールとしても機能するため、マークアップが非常に複雑になる可能性があります。 さらに、特定の列に対して並べ替えおよびフィルター処理する機能を無効にできるため (列が基になっているフィールド型でサポートされている場合でも)、マークアップでは Switch 要素を使用して列の並べ替えまたはフィルター処理が有効かどうかをテストする必要があります。 例については、「%ProgramFiles%\Common Files\Microsoft Shared\web サーバー extensions\15\TEMPLATE\XML\FLDTYPES.XML」を参照してください。

DisplayPattern

CAML レンダリングが有効になっている場合は、フィールドをリスト ビューでレンダリングできるように、フィールド型に RenderPattern 要素の DisplayPattern 型 (直接ではない場合は継承) が必要です。 これは、表示 (リスト アイテム) ページなどの表示モードでフィールドをレンダリングする必要はありません。これは、レンダリング コントロール (.ascx ファイル) を使用してフィールドを表示モードでレンダリングすることもできます。 SharePoint Foundation に付属する従来のフィールド型では、DisplayPattern 要素の DisplayPattern 型ではなくレンダリング コントロールを使用して、フィールドを表示モードでレンダリングすることはできません。

リスト ビューの各行のフィールドをレンダリングするのにも、RenderPatternDisplayPattern 型を使用できます。 既定では、SharePoint Foundation では、%ProgramFiles%\Common Files\Microsoft Shared\Web サーバー拡張機能\15\TEMPLATE\LAYOUTS\XSL にあるファイル内の XSLT マークアップ fldtypes*.xsl を使用して、リスト ビューにフィールドをレンダリングします。 fldtypes*.xmlただし、%ProgramFiles%\Common Files\Microsoft Shared\web サーバー拡張機能\15\TEMPLATE\XML のファイルは、 フィールドの含まれている FieldTypes 要素に が存在<Field Name="CAMLRendering">TRUE</Field>するかどうかを確認します。 存在する場合は、DisplayPattern を使用して、リスト ビューのフィールドがレンダリングされます。

注:

SharePoint Foundation に付属する 2 つのレガシ フィールド型には、FLDTYPES.XMLで DisplayPattern 型の RenderPattern がありません。(1) ContentTypeId フィールドは表示されません。 (2) 計算フィールドは、リスト ビューと表示モードで、表示される各リストのschema.xml内の Field 要素の DisplayPattern 要素によってレンダリングされます。

NewPattern および EditPattern

フィールドが含まれるリスト アイテムを作成または編集する場合、それほど多くのデータの処理やデータ検証をフィールドで行う必要がないときは、RenderPatternNewPattern 型と EditPattern 型がそれぞれ新規作成モードと編集モードでフィールドをレンダリングするのに使用されていました。 たとえば、自由形式のメモ フィールドは、どのテキストも有効な値なので、検証されることはありません。 同様に、選択肢フィールドと検索フィールドでは、定義により、ユーザーの選択肢が有効な値のみに制限されます。 通貨フィールド、DateTime フィールドなど、他のフィールドでは、スクリプトでコード化できる最小限の検証のみが必要です。

RenderPattern の NewPattern 型と EditPatternの例については、「%ProgramFiles%\Common Files\Microsoft Shared\web サーバー extensions\15\TEMPLATE\XML\FLDTYPES.XML」を参照してください。

マルチ列派生ユーザー設定フィールド型の RenderPatterns

ユーザー設定の複数列フィールドの RenderPattern マークアップでは、Column 要素の SubcolumnNumber 属性を使用して、複数列フィールド型の個別の列を指定します。 複数列フィールド型の詳細については、「Custom Multicolumn Field Classes」を参照してください。

次の例では、複数列型から継承するユーザー設定フィールド型に対してレンダリング パターンを定義しています。 米国の住所を格納するのにフィールドを使用します。 最初のサブ列には、番地の後に HTML 改行が格納されます。 次のサブ列には、市区町村名の後にコンマとスペースが格納されます。 3 番目のサブ列には、州が格納され、その後にスペースが続き、最後のサブ列には、郵便番号が格納されます。

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

関連項目