キャンバス アプリで依存のドロップダウン リストを作成する

依存 (またはカスケード) ドロップダウン リストを作成すると、ユーザーはリストのオプションを選択して、別のリストのオプションをフィルター処理します。 多くの組織では、ユーザーがフォームに効率よく記入できるように連動リストを作成しています。 たとえば、ユーザーは国または地域を選択して都市のリストをフィルター処理したり、カテゴリを選択してそのカテゴリのコードのみを表示したりできます。

ベスト プラクティスとして、ユーザーがアプリを使用して更新するデータ ソースとは別に、「親」リストと「子」リストの値 (国/地域、都市など) のデータ ソースを作成します。 このアプローチを採用すると、同じ親データと子データを複数のアプリにわたって使用でき、それらを使用するアプリを再公開することなく、これらのデータを更新できます。 コレクションまたは静的データを使用して同じ結果を得ることもできますが、エンタープライズ シナリオには推奨されません。

このトピックのシナリオでは、店舗の従業員がフォームを介してIncidents リストに問題を送信します。 従業員は、インシデントが発生した店舗だけでなく、その店舗内の部署も指定します。 すべての場所に同じ部署があるわけではないため、場所リストを使用すると、従業員はその部署のない場所には部署を指定できなくなります。

注意

この記事では、Microsoft Lists をデータ ソースとして使用して作成されたリストを使用します。 ただし、すべての表形式データソースは同じように動作します。 Dataverse for Teams では、このシナリオで従来のドロップダウンが機能するようにするには、従来のコントロールを有効にする必要があります。

Important

Microsoft Dataverse for Teams 環境は非推奨です。 Teams 環境のMicrosoft Dataverseの廃止に関するページで、タイムラインと必要なアクションの詳細について説明します。

データソースを作成

場所リストには、各場所の部署が表示されます。

場所 課
イーガンビル ベーカリー
イーガンビル デリ
イーガンビル 生産
レンフルー ベーカリー
レンフルー デリ
レンフルー 生産
レンフルー 薬局
レンフルー フローラル
ペンブローク ベーカリー
ペンブローク デリ
ペンブローク 生産
ペンブローク フローラル

インシデント リストには、連絡先情報と各インシデントに関する情報が表示されます。 日付列は日付列として作成し、その他の列は1 行テキスト列として作成することで、構成を簡素化し、Microsoft Power Apps で委任の警告が発生するのを回避してください。

名(ファーストネーム) 姓 電話番号 場所 課 説明 日付
トーニャ コルテス (206) 555 - 1022 イーガンビル 生産 …で問題がありました 2019/2/12
モーセ Laflamme (425) 555 - 1044 レンフルー フローラル 問題が発生しました … 2019/2/13

デフォルトでは、リストには、名前を変更したり削除したりできないタイトル列が含まれています。リストにアイテムを保存する前に、このタイトル列にはデータが含まれている必要があります。 データを必要としないように列を設定するには:

  1. 右上の歯車アイコンを選択して、リストの設定 を選択します。
  2. 設定ページで、列のリストにあるタイトルを選択します。
  3. この列への情報の入力を必須にするで、いいえを選択します。

その変更後、タイトル列を無視するか、少なくとも他の列が 1 つ表示されている場合は、既定のビューからそれを削除できます。

フォームを開く

  1. インシデント リストを開いて、統合->Power Apps ->フォームのカスタマイズを選択します。

    インシデント リストを開き、Power Apps > フォームのカスタマイズを選択します。

    Power Apps Studio で、既定のフォームが表示されたブラウザーのタブが開きます。

  2. (オプション) フィールド ウィンドウで、タイトル フィールドにカーソルを合わせ、表示される省略記号 (...) を選択してから、削除を選択します。

    フィールド ウィンドウを閉じている場合は、左側のナビゲーション バーで SharePointForm1 を選択し、右側のウィンドウにあるプロパティ タブでフィールドの編集を選択します。

  3. (オプション)前の手順を繰り返し、フォームから添付ファイルフィールドを削除します。

    追加したフィールドのみがフォームに表示されます。

    タイトルと添付ファイル フィールドのないフォーム。

コントロールを置き換える

  1. フィールド ペインで、Location の横にある矢印を選択します。

    フィールド ペインを閉じた場合は、左側のナビゲーション バーで SharePointForm1 を選択し、右側のペインの プロパティ タブで フィールドの編集 を選択すると、再度開くことができます。

  2. コントロールの種類一覧を開き、許可された値を選択します。

    許可される値。

    入力メカニズムがドロップ ダウン コントロールに変更されます。

  3. 部署カードに対してこれらの手順を繰り返します。

ロケーション リストを追加

  1. 表示>データソース>データソースの追加を選択します。

  2. SharePoint 接続先を選択または作成し、Locations リストを含むサイトを指定します。

  3. そのリストのチェック ボックスをオンにしてから、接続を選択します。

    データ ウィンドウ。

    接続リストには、フォームの基となるインシデント リストと、フォームの場所と部署を識別する場所リストが表示されます。

    SharePoint データ ソース。

カードのロックを解除する

  1. 場所カードを選択し、右側のウィンドウで詳細設定のタブを選択して、ロックを解除してプロパティを変更するを選択します。

  2. 部署カードに対してこの手順を繰り返します。

コントロールの名前を変更する

コントロールの名前を変更すると、コントロールをより簡単に識別できるようになり、例に従うのが容易になります。 他のベスト プラクティスを見つけるには、コーディング標準とガイドラインのホワイトペーパーをレビューしてください。

  1. [Location]カードで、ドロップダウン コントロールを選択します。

  2. 右側のウィンドウ上部で、ddLocation と入力するか貼り付けを行って、選択したコントロールの名前を変更します。

    コントロールの名前を変更する

  3. 部署カードで前の 2 つの手順を繰り返して、ドロップ ダウン コントロールの名前を ddDepartment に変更します。

場所の構成

  1. ddlocation の Items プロパティを、この数式に設定します。

    Distinct(Locations, Location)

  2. (オプション) Alt キーを押しながら ddLocation を開き、リストに 3 つの場所が表示されていることを確認します。

部署の構成

  1. ddDepartment を選択して、右側のウィンドウのプロパティ タブで、依存を選択します。

  2. 親コントロールで、ddLocation が上のリストに表示され、Result が下のリストに表示されることを確認してください。

    注意

    文字列ではなく、実際の ID で照合する場合は、Result ではなく、ID を選択します。

  3. 一致するフィールドで、上のリストにある場所と下のリストにある場所を選択し、適用を選択します。

    リンクに依存。

    ddDepartment の Items プロパティを次の数式に設定します。

    Filter(Locations, Location = ddLocation.Selected.Result)

    この式は、ユーザーが ddLocation で選択した内容に基づいて、ddDepartment の項目をフィルター処理します。 このような構成により、SharePoint の場所リストに指定されているように、部署の「子」リストが「親」の場所のデータを確実に反映します。

  4. 右側のウィンドウのプロパティ タブで、値の横にあるリストを開いてから、部署を選択します。

    このステップでは、SharePoint の場所リストの部署列のオプションに、表示テキストを設定します。

    部署の値。

フォームをテストする

Alt キーを押しながら、場所のリストを開いて 1 つ選択し、部署のリストを開いて 1 つ選択します。

場所と部署のリストは、SharePoint のLocationsリストの情報を反映しています。

場所のリストを開き、選択をレンフルーからペンブロークに変更してから、部署のリストを開く。

保存してフォームを開く (オプション)

  1. ファイル メニューを開き、保存>SharePoint に公開>SharePoint に公開を選択します。

  2. 左上隅で、戻る矢印を選択し、SharePoint に戻るを選択します。

  3. コマンド バーで 新規を選択し、カスタマイズしたフォームを開きます。

FAQ

データが表示されません。ソースがすべて空白であるか、データが間違っています。 次のいずれかの方法で、コントロールの正しいフィールドを表示しているかどうかを確認します。

  • ドロップダウン リストを選択し、右側のウィンドウのプロパティ タブで、Value プロパティを選択します。

    ドロップ ダウンを変更する。

  • コンボ ボックスを選択し、プライマリ テキストが表示するフィールドであることを確認します。

    コンボ ボックスを変更する。

子項目のドロップダウン リストに重複した項目が含まれています。 この症状は、SharePoint のルックアップ列、または Power Apps の Choices 関数を使用したことが原因です。 重複を削除するには、正しく返されるデータを Distinct 関数でラップします。 詳細については、Distinct 関数を参照してください。

既知の制限事項

この設定は、ドロップ ダウン コントロールのほか、一度に 1 つだけ選択できる コンボ ボックス コントロールおよび リスト ボックス コントロールでも使用できます。 これらのコントロールで複数選択が許可されている場合、Depends On 構成はそのいずれにも使用できません。 このアプローチは、Microsoft Dataverse で選択肢をもって作業するのには推奨されていません。

Depends On 構成では、静的データまたはコレクションはサポートされていません。 これらのソースを使用して依存ドロップダウン リストを構成するには、数式バーで直接式を編集します。 さらに、Power Apps では、一致するデータのテーブルなしで SharePoint の 2 つの選択フィールドを使用することはサポートされていません。また、この UI 内で一致するフィールドを定義することはできません。