チュートリアル: SharePoint のサイト列、コンテンツ タイプ、およびリストを作成する
次の手順では、カスタムの SharePoint サイト列 (または "フィールド") と、サイト列を使用するコンテンツ タイプを作成する方法について説明します。 また、新しいコンテンツ タイプを使用するリストを作成する方法も示します。
このチュートリアルでは、次のタスクについて説明します。
-
Note
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
サポート対象エディションの Windows と SharePoint
Visual Studio 2019
カスタム サイト列の作成
この例では、病院で患者を管理するためのリストを作成します。 まず、Visual Studio で SharePoint プロジェクトを作成し、次のようにサイト列を追加する必要があります。
プロジェクトを作成するには
Visual Studio の [ファイル] メニューで [新規作成]>[プロジェクト] を選択します。
[新しいプロジェクトの作成] ダイアログで、インストールした SharePoint の特定のバージョンに対応する SharePoint の空のプロジェクトを選択します。 たとえば、SharePoint 2016 がインストールされている場合は、[SharePoint 2016 - 空のプロジェクト] テンプレートを選択します。
Note
[新しいプロジェクトの作成] ダイアログの上部にある [検索] テキスト ボックスに「SharePoint」と入力して、テンプレートを検索することもできます。 また、[プロジェクトの種類] ドロップダウン ボックスで [Office] を選択して、Office および SharePoint のテンプレートのみを表示するようにテンプレートの一覧をフィルターすることもできます。 詳細については、「Visual Studio で新しいプロジェクトを作成する」を参照してください。
プロジェクトの名前として「クリニック」と入力し、[作成] ボタンをクリックします。
[デバッグのサイトとセキュリティ レベルの指定] ダイアログで、新しいカスタム フィールド項目を追加するローカル SharePoint サイトの URL を入力するか、既定の場所 (
http://<
SystemName>/)
を使用します。[この SharePoint ソリューションの信頼レベル] セクションで、デフォルト値の [サンドボックス ソリューションとして配置する] を使用します。
サンドボックス ソリューションとファーム ソリューションの詳細については、「サンドボックス ソリューションの考慮事項」を参照してください。
[完了] ボタンを選択します。 これで、プロジェクトがソリューション エクスプローラーに一覧表示されます。
サイト列を追加するには
新しいサイト列を追加します。 これを行うには、ソリューション エクスプローラーで [クリニック] プロジェクトを右クリックし、[追加]>[新しい項目] を選択します。
[新しい項目の追加] ダイアログ ボックスで [サイト列] を選択し、名前を「患者名」に変更して、[追加] ボタンをクリックします。
サイト列の 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 にソリューションを配置しようとすると問題が発生する可能性があるため、[サイト列] の名にスペースを使用しないことをお勧めします。
同じ手順を使用して、さらに 2 つのサイト列をプロジェクトに追加します。[患者 ID] ([型] = [整数]) と [医師名] ([型] = [テキスト]) です。 [グループ] 値を [クリニックのサイト列] に設定します。
カスタム コンテンツ タイプの作成
次に、前の手順で作成したサイト列を含むコンテンツ タイプを [連絡先] コンテンツ タイプに基づいて作成します。 コンテンツ タイプを既存のコンテンツ タイプに基づくことで、新しいコンテンツ タイプで使用する複数のサイト列が基になるコンテンツ タイプによって提供されるため、時間を節約できます。
カスタム コンテンツ タイプを作成するには
プロジェクトにコンテンツ タイプを追加します。 これを行うには、ソリューション エクスプローラーで、プロジェクト ノードを選択します。
メニュー バーで [プロジェクト]>[新しい項目の追加] の順に選択します。
[Visual C#] または [Visual Basic] で [SharePoint] ノードを展開し、[2010] ノードを選択します。
[テンプレート] ウィンドウで、[コンテンツ タイプ] テンプレートを選択し、名前を「患者情報」に変更して、[追加] ボタンを選択します。
SharePoint カスタマイズ ウィザードが開きます。
[このコンテンツ タイプの継承元となる基本コンテンツ タイプ] で、新しいコンテンツ タイプの基になるコンテンツ タイプとして [連絡先] を選択し、[完了] ボタンを選択します。
これにより、以前に定義したサイト列に加えて、[連絡先] コンテンツ タイプの他の便利なサイト列にもアクセスできるようになります。
コンテンツ タイプ デザイナーが表示されたら、[列] タブで、前に定義した 3 つのサイト列 ([患者名]、[患者 ID]、および [医師名]) を追加します。 これらの列を追加するには、[表示名] のサイト列リストで最初のリスト ボックスを選択し、リスト内の各サイト列を 1 つずつ選択します。
ヒント
サイト列をより迅速に選択するには、列名の最初の数文字を入力してリストをフィルター処理します。
3 つのカスタム サイト列に加えて、サイト列リストから [コメント] サイト列を追加します。
[患者名] と [患者 ID] サイト列の [必須] チェック ボックスをオンにして、必須フィールドにします。
[コンテンツ タイプ] タブで、コンテンツ タイプの名前が [患者情報] になっていることを確認し、説明を「患者情報カード」に変更します。
[グループ名] を [クリニック コンテンツ タイプ] に変更し、その他の設定は既定値のままにします。
メニューバーで、[ファイル]>[すべてを保存] の順に選択し、コンテンツ タイプ デザイナーを閉じます。
リストを作成する
次に、新しいコンテンツ タイプとサイト列を使用するリストを作成します。
リストを作成するには
プロジェクトにリストを追加します。 これを行うには、ソリューション エクスプローラーで、プロジェクト ノードを選択します。
メニュー バーで [プロジェクト]>[新しい項目の追加] の順に選択します。
[Visual C#] または [Visual Basic] の [SharePoint] ノードを展開します。
[テンプレート] ウィンドウで、[リスト] テンプレートを選択し、名前を「患者」に変更して、[追加] ボタンを選択します。
[リストをカスタマイズする基準] 設定を [既定 (カスタム リスト)] のままにして、[完了] ボタンを選択します。
リスト デザイナーで [コンテンツ タイプ] ボタンをクリックして、[コンテンツ タイプ設定] ダイアログ ボックスを表示します。
新しい行を選択し、コンテンツ タイプのリストで [患者情報] コンテンツ タイプを選択し、[OK] ボタンをクリックします。
これにより、[患者情報] コンテンツ タイプのすべてのサイト列がリストに追加されます。
次の項目を除く、リスト内のすべてのサイト列を削除します。
患者 ID
患者名
自宅電話
[電子メール]
医師名
コメント
[列の表示名] で、空の行を選択し、カスタム リスト列を追加し、「病院」という名前を付けます。 データ型は [1 行テキスト] のままにします。
カスタム リスト列は、このリストにのみ適用されます。 リストにカスタム リスト列を追加すると、リストに追加されたすべての列を含む新しいリスト コンテンツ タイプが作成され、既定のリストとして設定されます。
ヒント
サイト列のリストから列を選択すると、既存のサイト列が使用されます。 ただし、リストの列を選択せずに列名の値を入力すると、同じ名前の列が既にリストに存在する場合でも、カスタム リスト列が作成されます。
必要に応じて、カスタム リスト列のデータ型を [1 行テキスト] に設定するのではなく、この列のデータ型を [参照] に設定し、その値をテーブルまたは別のリストから取得することもできます。 参照列の詳細については、SharePoint 2010 でのリスト リレーションシップに関するページ、および参照とリスト リレーションシップに関するページを参照してください。
[患者 ID] および [患者名] ボックスの横にある [必須] チェック ボックスをオンにします。
[ビュー] タブで、ビューを作成するための空の行を選択します。 [ビュー名] 列の下の空白行に「患者の詳細」と入力します。
[ビュー] タブで、SharePoint リストに表示する列を指定できます。
新しい [患者の詳細] 行を選択し、[既定値として設定] ボタンを選択します。
新しいビューは、リストの既定のビューになります。
次の列を [選択された列] リストに次の順序で追加します。
患者 ID
患者名
自宅電話
[電子メール]
医師名
病院
コメント
プロパティ の一覧で、 並べ替えとグループ化 のプロパティを選択し、省略記号ボタン
を選択して、並べ替えとグループ化 ダイアログ ボックスを表示します。
[列名] リストで、[患者名] を選択し、[並べ替え] 列が [昇順] に設定されていることを確認してから、[OK] ボタンを選択します。
アプリケーションをテストする
カスタムのサイト列、コンテンツ タイプ、およびリストの準備ができたので、SharePoint に配置し、アプリケーションを実行してテストします。
アプリケーションをテストするには
メニュー バーで、[ファイル]>[すべてを保存] の順に選択します。
F5 キーを選択してアプリケーションを実行します。
アプリケーションがコンパイルされ、その機能が SharePoint に配置され、アクティブ化されます。
クイック ナビゲーション バーで、[患者] リンクを選択して、[患者] リストを表示します。
リストの列名は、Visual Studio の [ビュー] タブで入力したものと一致している必要があります。
[新しい項目の追加] リンクを選択して、患者情報カードを作成します。
フィールドに情報を入力し、[保存] ボタンを選択します。
新しいレコードがリストに表示されます。