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 型ではなくレンダリング コントロールを使用して、フィールドを表示モードでレンダリングすることはできません。
リスト ビューの各行のフィールドをレンダリングするのにも、RenderPattern の DisplayPattern 型を使用できます。 既定では、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
フィールドが含まれるリスト アイテムを作成または編集する場合、それほど多くのデータの処理やデータ検証をフィールドで行う必要がないときは、RenderPattern の NewPattern 型と 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[, &nbsp;]]></HTML>
<Column SubColumnNumber="2" HTMLEncode="TRUE"/>
<HTML><![CDATA[ &nbsp;]]></HTML>
<Column SubColumnNumber="3" HTMLEncode="TRUE"/>
</Default>
</Switch>
</RenderPattern>