RenderPattern 要素 (フィールド型)
レンダリング テンプレート コントロール (.ascx ファイル) の代わりに、Windows SharePoint Services 3.0 が UI 上にフィールド型をレンダリングするために使用できる、実際の Collaborative Application Markup Language (CAML)、HTML、およびスクリプトを定義します。また、リスト ビューでは、この要素により、選択したフィールド型に基づいて列ヘッダーもレンダリングされます。
<RenderPattern Name="Text">
</RenderPattern>
属性
属性 |
説明 |
---|---|
Name |
必須の String。この RenderPattern 要素で定義する、レンダリング パターン名を表します。 次のどちらかの値を指定します。
|
子要素
明示的には定義されていませんが、この要素は ビュー スキーマ からの CAML マークアップのコンテナです。 |
親要素
Remarks
RenderPattern の継承
特定の Name の値を持つ RenderPattern がフィールド型に対して指定されていない場合、フィールド型はその親フィールド型の名前の RenderPattern を継承します。
HeaderPattern
列ヘッダーをレンダリングする代替システムがないので、すべてのフィールド型には、直接または継承による、RenderPattern 要素の HeaderPattern 型が必要です。フィールド型の並べ替えまたはフィルタ処理が行えない場合は、HeaderPattern のマークアップは非常に単純になることがあります。ただし、フィールド型の並べ替えまたはフィルタ処理が行える場合は、ヘッダーが列のタイトルとしてだけでなく、並べ替えとフィルタ処理のドロップダウン メニュー コントロールとしても機能するので、マークアップは非常に複雑になることがあります。さらに、特定の列に対して並べ替えとフィルタ処理の機能が無効である場合があるので (列がベースとしているフィールド型がそれらの機能をサポートしている場合でも)、列に対して並べ替えまたはフィルタ処理が有効かどうかをテストするには、マークアップで Switch 要素を使用する必要があります。例については、「C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML\FLDTYPES.XML」を参照してください。
DisplayPattern
リスト ビューの各行でフィールドをレンダリングできるように、フィールド型には、通常、RenderPattern 要素の DisplayPattern 型が必要です (直接でない場合、継承による)。表示 (リスト アイテム) ページ上などに、表示モードでほとんどのフィールドをレンダリングするのにも、RenderPattern の DisplayPattern 型が使用されます。または、レンダリング コントロール (.ascx ファイル) を使用して、表示モードでフィールドをレンダリングできます (リスト ビューではレンダリングできません)。ただし、レンダリング コントロールを使用する主な利点は、データの検証と処理が行えることであり、データ (有効または無効) が作成または編集されるのではなく、単に表示されているだけである場合、これらの機能は必要ありません。このため、Windows SharePoint Services 3.0 に付属するどのフィールド型でも、表示モードでフィールドをレンダリングするのに、RenderPattern 要素の DisplayPattern 型の代わりにレンダリング コントロールが使用されることはありません。作成するどのユーザー設定フィールド型でも、多くの場合、表示モードに DisplayPattern が使用されます。
注意
Windows SharePoint Services 3.0 に付属する 2 つのフィールド型には、FLDTYPES.XML に RenderPattern の DisplayPattern 型がありません。ここで、(1) ContentTypeId フィールドは非表示です。(2) Computed フィールドは、表示される各リストの schema.xml 内の Field 要素の DisplayPattern 要素によって、リスト ビューと表示モードでレンダリングされます。
NewPattern および EditPattern
フィールドを含むリスト アイテムを作成または編集する場合に、かなり多くのデータの処理やデータ検証をフィールドで行う必要がないときは、RenderPattern の NewPattern 型と EditPattern 型はそれぞれ新規作成モードと編集モードでフィールドをレンダリングするのに使用されます。たとえば、自由形式のメモ フィールドは、どのテキストでも有効な値であるので、検証されることはありません。同様に、選択肢フィールドと検索フィールドは、定義により、ユーザーの選択肢を有効な値のみに制限します。通貨フィールド、DateTime フィールドなど、他のフィールドでは、スクリプトでコード化できる最小限の検証のみが必要です。
ただし、作成するユーザー設定フィールドがこれらの型から継承する場合、より多くの処理が必要となることがあります。その場合は、レンダリング コントロールを使用して、フィールドをレンダリングします。通常、実際にユーザー設定フィールドが必要になるのは、正確には Windows SharePoint Services 3.0 に付属するどのフィールドにも、必要なデータ検証が含まれていないからです。
RenderPattern の NewPattern 型と EditPattern 型の例については、「C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\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[, ]]></HTML>
<Column SubColumnNumber="2" HTMLEncode="TRUE"/>
<HTML><![CDATA[ ]]></HTML>
<Column SubColumnNumber="3" HTMLEncode="TRUE"/>
</Default>
</Switch>
</RenderPattern>