チュートリアル: SharePoint のサイト列、コンテンツ タイプ、およびリストを作成する

次の手順では、カスタムの SharePoint サイト列 (または "フィールド") と、サイト列を使用するコンテンツ タイプを作成する方法について説明します。 また、新しいコンテンツ タイプを使用するリストを作成する方法も示します。

このチュートリアルでは、次のタスクについて説明します。

必須コンポーネント

このチュートリアルを実行するには、次のコンポーネントが必要です。

  • サポート対象エディションの Windows と SharePoint

  • Visual Studio 2019

カスタム サイト列の作成

この例では、病院で患者を管理するためのリストを作成します。 まず、Visual Studio で SharePoint プロジェクトを作成し、次のようにサイト列を追加する必要があります。

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

  1. Visual Studio の [ファイル] メニューで [新規作成]>[プロジェクト] を選択します。

  2. [新しいプロジェクトの作成] ダイアログで、インストールした SharePoint の特定のバージョンに対応する SharePoint の空のプロジェクトを選択します。 たとえば、SharePoint 2016 がインストールされている場合は、[SharePoint 2016 - 空のプロジェクト] テンプレートを選択します。

    Note

    [新しいプロジェクトの作成] ダイアログの上部にある [検索] テキスト ボックスに「SharePoint」と入力して、テンプレートを検索することもできます。 また、[プロジェクトの種類] ドロップダウン ボックスで [Office] を選択して、Office および SharePoint のテンプレートのみを表示するようにテンプレートの一覧をフィルターすることもできます。 詳細については、「Visual Studio で新しいプロジェクトを作成する」を参照してください。

  3. プロジェクトの名前として「クリニック」と入力し、[作成] ボタンをクリックします。

  4. [デバッグのサイトとセキュリティ レベルの指定] ダイアログで、新しいカスタム フィールド項目を追加するローカル SharePoint サイトの URL を入力するか、既定の場所 (http://<SystemName>/) を使用します。

  5. [この SharePoint ソリューションの信頼レベル] セクションで、デフォルト値の [サンドボックス ソリューションとして配置する] を使用します。

    サンドボックス ソリューションとファーム ソリューションの詳細については、「サンドボックス ソリューションの考慮事項」を参照してください。

  6. [完了] ボタンを選択します。 これで、プロジェクトがソリューション エクスプローラーに一覧表示されます。

サイト列を追加するには

  1. 新しいサイト列を追加します。 これを行うには、ソリューション エクスプローラー[クリニック] プロジェクトを右クリックし、[追加]>[新しい項目] を選択します。

  2. [新しい項目の追加] ダイアログ ボックスで [サイト列] を選択し、名前を「患者名」に変更して、[追加] ボタンをクリックします。

  3. サイト列の Elements.xml ファイルで、[型] 設定を [テキスト] のままにし、[グループ] 設定を [クリニックのサイト列] に変更します。 完了すると、サイト列の Elements.xml ファイルは次の例のようになります。

    <Field
         ID="{f9ba60d1-5631-41fb-b016-a38cf48eef63}"
         Name="PatientName"
         DisplayName="Patient Name"
         Type="Text"
         Required="FALSE"
         Group="Clinic Site Columns">
    </Field>
    

    ヒント

    [サイト列] の名前にキャメル ケース形式を使用すると、表示名にスペースが自動で追加されます。 SharePoint にソリューションを配置しようとすると問題が発生する可能性があるため、[サイト列] の名にスペースを使用しないことをお勧めします。

  4. 同じ手順を使用して、さらに 2 つのサイト列をプロジェクトに追加します。[患者 ID] ([型] = [整数]) と [医師名] ([型] = [テキスト]) です。 [グループ] 値を [クリニックのサイト列] に設定します。

カスタム コンテンツ タイプの作成

次に、前の手順で作成したサイト列を含むコンテンツ タイプを [連絡先] コンテンツ タイプに基づいて作成します。 コンテンツ タイプを既存のコンテンツ タイプに基づくことで、新しいコンテンツ タイプで使用する複数のサイト列が基になるコンテンツ タイプによって提供されるため、時間を節約できます。

カスタム コンテンツ タイプを作成するには

  1. プロジェクトにコンテンツ タイプを追加します。 これを行うには、ソリューション エクスプローラーで、プロジェクト ノードを選択します。

  2. メニュー バーで [プロジェクト]>[新しい項目の追加] の順に選択します。

  3. [Visual C#] または [Visual Basic][SharePoint] ノードを展開し、[2010] ノードを選択します。

  4. [テンプレート] ウィンドウで、[コンテンツ タイプ] テンプレートを選択し、名前を「患者情報」に変更して、[追加] ボタンを選択します。

    SharePoint カスタマイズ ウィザードが開きます。

  5. [このコンテンツ タイプの継承元となる基本コンテンツ タイプ] で、新しいコンテンツ タイプの基になるコンテンツ タイプとして [連絡先] を選択し、[完了] ボタンを選択します。

    これにより、以前に定義したサイト列に加えて、[連絡先] コンテンツ タイプの他の便利なサイト列にもアクセスできるようになります。

  6. コンテンツ タイプ デザイナーが表示されたら、[列] タブで、前に定義した 3 つのサイト列 ([患者名][患者 ID]、および [医師名]) を追加します。 これらの列を追加するには、[表示名] のサイト列リストで最初のリスト ボックスを選択し、リスト内の各サイト列を 1 つずつ選択します。

    ヒント

    サイト列をより迅速に選択するには、列名の最初の数文字を入力してリストをフィルター処理します。

  7. 3 つのカスタム サイト列に加えて、サイト列リストから [コメント] サイト列を追加します。

  8. [患者名][患者 ID] サイト列の [必須] チェック ボックスをオンにして、必須フィールドにします。

  9. [コンテンツ タイプ] タブで、コンテンツ タイプの名前が [患者情報] になっていることを確認し、説明を「患者情報カード」に変更します。

  10. [グループ名][クリニック コンテンツ タイプ] に変更し、その他の設定は既定値のままにします。

  11. メニューバーで、[ファイル]>[すべてを保存] の順に選択し、コンテンツ タイプ デザイナーを閉じます。

リストを作成する

次に、新しいコンテンツ タイプとサイト列を使用するリストを作成します。

リストを作成するには

  1. プロジェクトにリストを追加します。 これを行うには、ソリューション エクスプローラーで、プロジェクト ノードを選択します。

  2. メニュー バーで [プロジェクト]>[新しい項目の追加] の順に選択します。

  3. [Visual C#] または [Visual Basic][SharePoint] ノードを展開します。

  4. [テンプレート] ウィンドウで、[リスト] テンプレートを選択し、名前を「患者」に変更して、[追加] ボタンを選択します。

  5. [リストをカスタマイズする基準] 設定を [既定 (カスタム リスト)] のままにして、[完了] ボタンを選択します。

  6. リスト デザイナーで [コンテンツ タイプ] ボタンをクリックして、[コンテンツ タイプ設定] ダイアログ ボックスを表示します。

  7. 新しい行を選択し、コンテンツ タイプのリストで [患者情報] コンテンツ タイプを選択し、[OK] ボタンをクリックします。

    これにより、[患者情報] コンテンツ タイプのすべてのサイト列がリストに追加されます。

  8. 次の項目を除く、リスト内のすべてのサイト列を削除します。

    • 患者 ID

    • 患者名

    • 自宅電話

    • [電子メール]

    • 医師名

    • コメント

  9. [列の表示名] で、空の行を選択し、カスタム リスト列を追加し、「病院」という名前を付けます。 データ型は [1 行テキスト] のままにします。

    カスタム リスト列は、このリストにのみ適用されます。 リストにカスタム リスト列を追加すると、リストに追加されたすべての列を含む新しいリスト コンテンツ タイプが作成され、既定のリストとして設定されます。

    ヒント

    サイト列のリストから列を選択すると、既存のサイト列が使用されます。 ただし、リストの列を選択せずに列名の値を入力すると、同じ名前の列が既にリストに存在する場合でも、カスタム リスト列が作成されます。

    必要に応じて、カスタム リスト列のデータ型を [1 行テキスト] に設定するのではなく、この列のデータ型を [参照] に設定し、その値をテーブルまたは別のリストから取得することもできます。 参照列の詳細については、SharePoint 2010 でのリスト リレーションシップに関するページ、および参照とリスト リレーションシップに関するページを参照してください。

  10. [患者 ID] および [患者名] ボックスの横にある [必須] チェック ボックスをオンにします。

  11. [ビュー] タブで、ビューを作成するための空の行を選択します。 [ビュー名] 列の下の空白行に「患者の詳細」と入力します。

    [ビュー] タブで、SharePoint リストに表示する列を指定できます。

  12. 新しい [患者の詳細] 行を選択し、[既定値として設定] ボタンを選択します。

    新しいビューは、リストの既定のビューになります。

  13. 次の列を [選択された列] リストに次の順序で追加します。

    • 患者 ID

    • 患者名

    • 自宅電話

    • [電子メール]

    • 医師名

    • 病院

    • コメント

  14. プロパティ の一覧で、 並べ替えとグループ化 のプロパティを選択し、省略記号ボタン Ellipsis Icon を選択して、並べ替えとグループ化 ダイアログ ボックスを表示します。

  15. [列名] リストで、[患者名] を選択し、[並べ替え] 列が [昇順] に設定されていることを確認してから、[OK] ボタンを選択します。

アプリケーションをテストする

カスタムのサイト列、コンテンツ タイプ、およびリストの準備ができたので、SharePoint に配置し、アプリケーションを実行してテストします。

アプリケーションをテストするには

  1. メニュー バーで、[ファイル]>[すべてを保存] の順に選択します。

  2. F5 キーを選択してアプリケーションを実行します。

    アプリケーションがコンパイルされ、その機能が SharePoint に配置され、アクティブ化されます。

  3. クイック ナビゲーション バーで、[患者] リンクを選択して、[患者] リストを表示します。

    リストの列名は、Visual Studio の [ビュー] タブで入力したものと一致している必要があります。

  4. [新しい項目の追加] リンクを選択して、患者情報カードを作成します。

  5. フィールドに情報を入力し、[保存] ボタンを選択します。

    新しいレコードがリストに表示されます。