RenderPattern 要素 (フィールド型)

最終更新日: 2015年3月9日

適用対象: SharePoint Foundation 2010

この記事の内容
属性
子要素
親要素

重要重要

リスト ビュー、および表示、編集、新規作成フォームのユーザー設定フィールド型のレンダリング方法の中には現在使用されていないものがあります。このトピックでは、このような廃止されたレンダリング方法で使われていたマークアップについて説明します。このトピックは、以前のバージョンの SharePoint Foundation で作成されたユーザー設定フィールド型のデバッグを支援する目的のためだけに提供されています。推奨方法については、「[方法] フィールド レンダリング テンプレートを作成する」および「[方法] ユーザー設定フィールド型を作成する」を参照してください。

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

RenderPattern は、SharePoint Foundation が UI のフィールド型をレンダリングするために使用できる、実際の Collaborative Application Markup Language (CAML)、HTML、およびスクリプトを定義します。また、リスト ビューでは、この要素により、選択したフィールド型に基づいて列ヘッダーもレンダリングされます。

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

属性

属性

説明

Name

必須の String。この RenderPattern 要素で定義する、レンダリング パターン名を表します。

次のどちらかの値を指定します。

  • HeaderPattern。CAML レンダリングがオンの場合のリスト ビュー ページでの列ヘッダー レンダリングを定義します (CAML レンダリングをオンにするには、fldtypes*.xml ファイルの対象の FieldTypes 要素に <Field Name="CAMLRendering">TRUE</Field> を追加します)。

  • DisplayPattern。表示 (リスト アイテム) フォームのフィールドのレンダリングを定義します。CAML レンダリングがオンの場合、DisplayPattern では、リスト ビュー ページのフィールドのレンダリングも定義されます (CAML レンダリングをオンにするには、fldtypes*.xml ファイルの対象の FieldTypes 要素に <Field Name="CAMLRendering">TRUE</Field> を追加します)。

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

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

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

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

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

子要素

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

親要素

FieldType 要素 (フィールド型)

コメント

RenderPattern の継承

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

HeaderPattern

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

DisplayPattern

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

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

注意

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

NewPattern および EditPattern

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

RenderPatterns の NewPattern 型と EditPattern 型の例については、%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\FLDTYPES.XML を参照してください。

複数列から派生したユーザー設定フィールド型の RenderPattern

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

次の例では、複数列型から継承するユーザー設定フィールド型に対してレンダリング パターンを定義しています。米国の住所を格納するのにフィールドを使用します。最初のサブ列には、番地が格納されます。この後には、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>

関連項目

タスク

[ウォークスルー] ユーザー設定フィールド型を作成する

概念

ユーザー設定フィールド型

[方法] ユーザー設定フィールド クラスを作成する

ユーザー設定フィールド型のプロパティのレンダリング

[方法] ユーザー設定フィールド型の定義を作成する

ユーザー設定の複数列フィールド クラス