次の方法で共有


SharePoint 2010 にカスタム リスト定義を作成する

SharePoint クイックスタート バナー
SharePoint 2010 での Web 開発の概要: カスタム リスト定義を SharePoint 2010 に作成して、イベント レシーバーを接続する方法について解説します。

最終更新日: 2011年1月12日

適用対象: SharePoint Foundation 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio 2010

この演習では、カスタム リスト定義を Microsoft SharePoint 2010 に作成し、リストの使用時にトリガーされるイベント レシーバーを作成します。このタスクを完了するには、以下の作業を実行します。

  • SharePoint リスト定義プロジェクトを作成する

  • SharePoint リスト定義をカスタマイズする

  • ソリューションをテストする

SharePoint リスト定義プロジェクトを作成する

このタスクでは、リスト定義 SharePoint 2010 プロジェクトを Microsoft Visual Studio 2010 に作成します。

SharePoint プロジェクトを作成するには

  1. [スタート] メニュー、[すべてのプログラム]、[Microsoft Visual Studio 2010]、[Microsoft Visual Studio 2010] の順にクリックして、Visual Studio 2010 を起動します。

  2. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

  3. [新しいプロジェクト] ダイアログ ウィンドウの [インストールされているテンプレート] セクションで、[Visual C#]、[SharePoint]、[2010] の順にクリックします。

  4. プロジェクト アイテムから [リスト定義] をクリックします。

  5. [名前] ボックスに「Bugs」と入力して、[OK] をクリックします。

  6. SharePoint カスタマイズ ウィザードで、この演習に使用するローカル Web サイト (https://localhost/SampleWebSite など) を入力します。

  7. 信頼レベルとして [ファーム ソリューションとして配置する] を選択し、[次へ] をクリックします。

  8. [リスト定義の表示名] ボックスに「Bugs」と入力します。

  9. [リスト定義の種類] ドロップダウン リストで [カスタム リスト] を選択します。

  10. [このリスト定義のリスト インスタンスを追加する] チェック ボックスをオンにして、[完了] をクリックします。

SharePoint リスト定義をカスタマイズする

このタスクでは、リスト名、リストに保存するコンテンツ タイプ、および新しいフォーム、編集フォーム、表示フォームに表示するフィールドを変更して、リスト定義プロジェクト テンプレートをカスタマイズします。

リスト定義をカスタマイズするには

  1. ソリューション エクスプローラーで [ListInstance1] を展開して、Elements.xml ファイルを開きます。

  2. ListInstance 要素内で、Title 属性を Bugs に変更し、TemplateType 属性を 10001 に変更します。

  3. ソリューション エクスプローラーで、Schema.xml を開く前に Elements.xml を開きます。

  4. ListTemplate 要素内で、Type 属性を 10001 に変更し、DisallowContentTypes=”FALSE” 属性を追加します。

  5. 図 1 に示すように、以下の XML を Elements.xml ファイルの Elements 要素の先頭に挿入します。この XML は、リストに保存される Bug Item コンテンツ タイプを記述しています。

    <!-- Describes content types. -->
    <ContentType
      ID="0x010089E3E6DB8C9B4B3FBB980447E313CE94"
      Name="Bug Item"
      Group="Custom Content Types"
      Description="Bug item content type."
      Version="0">
      <FieldRefs>
        <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" />
        <FieldRef ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" />
        <FieldRef ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" />
        <FieldRef ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" />
      </FieldRefs>
    </ContentType>
    <!--  End describes content types. --> 
    
  6. 図 1 に示すように、以下の XML を Elements.xml ファイルの Elements 要素の先頭に挿入します。この XML は、Bug Item コンテンツ タイプが使用するフィールドを記述しています。

    <!-- Describes fields in bug list. -->
    <Field Type="Note" DisplayName="Description" Required="FALSE" NumLines="6" RichText="FALSE" Sortable="FALSE" ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" StaticName="BugDescription" Name="BugDescription" Group="Custom Columns" />
    <Field Type="Text" DisplayName="Project" Required="FALSE" MaxLength="255" ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" StaticName="BugProject" Name="BugProject" Group="Custom Columns" />
    <Field Type="Text" DisplayName="Assigned To" Required="FALSE" MaxLength="255" ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" StaticName="BugAssignedTo" Name="BugAssignedTo" Group="Custom Columns" />
    <!-- End describes fields in bug list. -->
    

    図 1. 2 つのコード セクションが挿入された Elements.xml ファイル

    コードを挿入した後の Elements.xml ファイル

  7. ソリューション エクスプローラーで Schema.xml を開きます。

  8. EnableContentTypes=”TRUE” 属性を Schema.xml ファイル内の List 要素に追加します。

  9. 図 2 に示すように、以下の XML を Schema.xml ファイルの ContentTypes 要素に挿入します。この XML は、このリストに保存される Bug Item コンテンツ タイプを記述しています。

    <!-- Start Add. -->
    <ContentTypeRef ID="0x010089E3E6DB8C9B4B3FBB980447E313CE94" />
    <!-- End Add. -->
    
  10. 図 2 に示すように、以下の XML を Fields 要素に挿入します。この XML は、リストに保存されるフィールドを記述しています。これらのフィールドは、前の手順で追加したコンテンツ タイプのフィールドに直接関連しています。

    <!-- Start Add. -->
    <Field Type="Note" DisplayName="Description" Required="FALSE" NumLines="6" RichText="FALSE" Sortable="FALSE" ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" StaticName="BugDescription" Name="BugDescription" Group="Custom Columns" />
    <Field Type="Text" DisplayName="Project" Required="FALSE" MaxLength="255" ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" StaticName="BugProject" Name="BugProject" Group="Custom Columns" />
    <Field Type="Text" DisplayName="Assigned To" Required="FALSE" MaxLength="255" ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" StaticName="BugAssignedTo" Name="BugAssignedTo" -Group="Custom Columns" />
    <!-- End Add. -->
    

    図 2. ContentTypeRefs コードと Fields コードが挿入された Schema.xml

    ContentTypeRefs を挿入した後の Schema.xml

  11. 図 3 に示すように、以下の XML を BaseViewID="1" になっている 2 つ目のビューの ViewFields 要素に挿入します。この XML は、このビューにどのフィールドを表示するかを記述しています。BaseView 1 が既定のビューとして設定されています。これは、新しく作成されたフィールドが表示されるビューです。

    <!-- Start Add. -->
    <FieldRef Name="BugDescription"></FieldRef>
    <FieldRef Name="BugProject"></FieldRef>
    <FieldRef Name="BugAssignedTo"></FieldRef>
    <!-- End Add. -->
    

    図 3. Fields XML が挿入された Schema.xml

    Fields XML を挿入した後の Schema.xml

  12. ソリューション エクスプローラーで [Bugs] ノードを右クリックして、[配置] をクリックします。

ソリューションをテストする

このタスクでは、バグを Bugs リストに追加して、ソリューションをテストします。

アイテムを Bugs リストに追加するには

  1. 指定した Web サイトを開きます。

  2. ホーム ページの左側のナビゲーション ウィンドウで、[Bugs] リストをクリックします。

  3. 図 4 に示すように、[リスト ツール] タブで [アイテム] をクリックし、[新しいアイテム] ドロップダウン リストで [バグ アイテム] をクリックします。

    図 4. [新しいアイテム] ドロップダウン リストの [バグ アイテム]

    [新しいアイテム] ボックスの一覧の [バグ アイテム]

    図 5 に示すように、[Bugs - 新しいアイテム] 画面が表示されます。

    図 5. [新しいバグ アイテム] ダイアログ ボックス

    [新しいバグ アイテム] ダイアログ ボックス

  4. [Bugs - 新しいアイテム] 画面で、[タイトル] ボックスに「Bug01」と入力します。

  5. [説明] ボックスに「Who is going to track this bug?」と入力し、[プロジェクト] ボックスに「Writing developer articles」と入力して、[保存] をクリックします。

次の手順