コンテンツ タイプ内の列を参照する
コンテンツ タイプ定義内で列の参照を指定できます。これにより、定義されているコンテンツ タイプをユーザーが準備するたびに、指定された列をコンテンツ タイプが既定で参照します。コンテンツ タイプ定義はフィーチャーに含めることができます。詳細については、「フィーチャーを操作する」を参照してください。
ユーザーがサイトにコンテンツ タイプを追加した後は、Windows SharePoint Services オブジェクト モデルを使用して、そのコンテンツ タイプの列を参照できます。
コンテンツ タイプ定義内での列の参照を定義する
フィーチャーの一部であるコンテンツ タイプ定義内で列を参照する場合は、必要な XML 要素をコンテンツ タイプ定義に追加する必要があります。ユーザーがそのタイプのコンテンツ タイプを準備すると、既定では、そのコンテンツ タイプで列が参照されます。
コンテンツ タイプ定義内の列を参照するには
コンテンツ タイプ定義で、FieldRef 要素 (ContentType) 要素を FieldRefs 要素 (ContentType) 要素に追加します。
必要なフィールドを定義するには、FieldRef 要素 (ContentType) 要素の属性を設定します。
準備されたコンテンツ タイプでの列参照に変更を加える場合、Windows SharePoint Services は、XML 列定義自体に変更内容を書き戻しません。その代わり、Windows SharePoint Services は、列参照の更新内容を Windows SharePoint Services データベースのエントリとして保存します。詳細については、「サイト内の列を更新する」を参照してください。
準備されたコンテンツ タイプの列の参照
Windows SharePoint Services オブジェクト モデルを使用して、準備されたコンテンツ タイプの列をプログラムによって参照できます。
準備されたコンテンツ タイプの列を参照するには
FieldLinks プロパティを使用して、指定したコンテンツ タイプの列参照のコレクションにアクセスします。このメソッドは、SPFieldLinkCollection オブジェクトを返します。
Add メソッドを使用して、コンテンツ タイプに列参照を追加します。
列は、直接ではなく、参照によってコンテンツ タイプに含まれます。詳細については、「フィールドとフィールド参照」を参照してください。
注意
Fields プロパティは、SPFieldCollection オブジェクトを返します。このコレクション内の SPField はそれぞれ、ベースとなる列定義の「結合されたビュー」と、コンテンツ タイプ内の列参照で指定されている、上書きされたプロパティを表します。このため、このコレクションに直接列を追加することはできません。直接列を追加しようとすると、エラーになります。