選択と選択肢の値の変更
テーブルに選択肢列の値を設定する最も簡単な方法は、編集フォームを使用する方法です。 フォームに選択肢列を追加すると、次のタスクを完了するためのフィールドが設定されます。
ドロップダウン メニュー (単一選択) またはコンボ ボックス (複数選択) のいずれかとして設定します。 (編集フォームを追加すると、Power Apps ではコンボ ボックスを使用して両方を設定します。)
Choices() 関数を使用して、ユーザーが選択できる値のリストを入力します (これも編集フォームを使用すると自動的に行われます)。
行の列値からコントロールの現在の値を設定します。
コントロールの SubmitForm 関数 (ボタンなど) を使用して値をテーブルに保存します。
既定では、フォームに列が追加されると、その列は編集可能になります。 フォームに選択肢列を表示するが、編集可能にしない場合は、コントロール タイプ フォーム フィールドを表示オプションに変更します。
修正プログラムを使用した作成または更新
Patch() 関数を使用して、選択肢列を作成または変更することもできます。 この方法は、少数のフィールドだけを更新し、ユーザー入力をほとんど、またはまったく必要としない場合に適しています。 たとえば、ギャラリー アイテムに、OnSelect 動作を使用して Patch() 関数を実行することで行を更新する選択ボタンを設定できます。
次の例では、ギャラリー アイテムに、アカウントを優先顧客にするためのボタンが設定されています。 このボタンを選択する目的は、行のカテゴリ選択フィールドを優先顧客に設定することです。 このタスクを実行するために、ギャラリー アイテムに VIP にするボタンを追加しました。
以下に示すように、VIP にするボタンの OnSelect プロパティには Patch() 式が含まれています。
Patch(Accounts, ThisItem, {Category: Category.'Preferred Customer'})
テーブル列で選択セットが使用されている場合、Patch を使用する際に、値の先頭に選択セット名を付ける必要があります。これを行わないと、"OptionSetValue" エラーが発生します。 選択セット名は、Dataverse のテーブルにアクセスし、編集モードでその列を選択して、この選択肢を同期する相手フィールドを探すことで確認できます。 その列の直下に、選択セットの名前が表示されます。
このような状況では、類似のテーブル内のボタンの Patch() は、次のようになります。
Patch(Accounts, ThisItem, {'Customer Type': Category.Preferred})