選択と選択肢の値の変更

完了

テーブルに選択肢列の値を設定する最も簡単な方法は、編集フォームを使用する方法です。 フォームに選択肢列を追加すると、次のタスクを完了するためのフィールドが設定されます。

  • ドロップダウン メニュー (単一選択の場合) またはコンボ ボックス (複数選択の場合) のいずれかとして設定します (編集フォーム を追加したとき、Power Apps では、どちらの場合もコンボ ボックスを使用して設定します)。

  • Choices() 関数を使用して、ユーザーが選択できる値のリストを設定します (これも 編集フォーム を使用すると自動的に行われます)。

  • 行の列値からコントロールの現在の値を設定します。

  • コントロールの SubmitForm 関数 (ボタンなど) を使用して値をテーブルに保存します。

フォームに列が追加されると、既定では、その列は編集可能になります。 フォームに選択肢列を表示するが、編集可能にしない場合は、コントロールの DisplayMode を選択し、DisplayMode.View に変更します (最初にキャンバス左側の プロパティ ペインにある 詳細設定 タブに移動し、ロック解除してプロパティを変更する必要があります)。

Patch を使用した作成および更新

Patch() 関数を使用して、選択肢列を作成または変更することもできます。 この方法は、少数のフィールドだけを更新し、ユーザー入力をほとんど、またはまったく必要としない場合に適しています。 たとえば、ギャラリー アイテムにボタンを配置して、そのボタンが選択されると、OnSelect 動作によって Patch() 関数を実行し、行を更新することができます。

次の例では、ギャラリー アイテムに、アカウントを優先顧客にするためのボタンが設定されています。 このボタンを選択する目的は、行のカテゴリ選択フィールドを優先顧客に設定することです。 このタスクを実行するために、ギャラリー アイテムに VIP にするボタンを追加しました。

以下に示すように、VIP にするボタンの OnSelect プロパティには Patch() 式が含まれています。

Patch(Accounts, ThisItem, {Category: 'Category (Accounts)'.'Preferred Customer'})

テーブル列で選択セットが使用されている場合、Patch を使用する際に、値の先頭に選択セット名を付ける必要があります。これを行わないと、"OptionSetValue" エラーが発生します。 選択セット名は、Dataverse のテーブルにアクセスし、編集モードでその列を選択して、この選択肢を同期する相手フィールドを探すことで確認できます。 その列の直下に、選択セットの名前が表示されます。

このような状況では、類似のテーブル内のボタンの Patch() は、次のようになります。

Patch(Accounts, ThisItem, {'Customer Type': Category.Preferred})