以前、Form コントロールで SubmitForm と LastSubmit を利用した例を紹介しました。
「Patch 関数でも同じようなコトできないの?」という質問をいただいたので、今回は Patch 関数で同様の効果を得たいネタです。
Patch 関数
念のため、公式情報は下記です。
公式に記載されていますが、Patch 関数の戻り値は変更または作成したレコードになります。
Patch の戻り値は、変更または作成したレコードです。 レコードを作成した場合、戻り値にはデータ ソースによって自動的に生成されたプロパティが含まれる場合があります。 ただし、戻り値は、関連するテーブルのフィールドの値を提供しません。
つまり、Patch 関数の戻り値を得れば Form コントロールの LastSubmit と同様なコトが実現できる、ですね。
実際に試してみた
簡単なアプリで動作を確認してみました。
検証用アプリの概要
左上の[データ生成]ボタンで Collection を作成しています。
右側のテキストインプットコントロールに入力した値で、ギャラリーコントロールで選択されている対象の名前(Name)を Patch 関数で更新します。
既に、コレクションを作成した後の画面です。
Collection はこちら。
ClearCollect(
colWk,
{Name: "愛知 家康", Age: 26, Gender: "男"},
{Name: "岐阜 千姫", Age: 24, Gender: "女"},
{Name: "三重 忠勝", Age: 32, Gender: "男"}
)
[Patch で Name 変更]ボタンの関数はこんな感じです。
UpdateContext( {locRet: Patch(colWk, Gallery.Selected, {Name:TextInput.Text}) } )
locRet コンテキスト変数へ Patch 関数の結果を保持しています。右下の青色背景の箇所には locRet の結果をラベルで 1 つずつ表示するようにしました。
その他、詳細は割愛です。気になる方はご自身で試行錯誤してください。こういう検証は思った以上に良い訓練になりますよ。
検証してみる
ギャラリーコントロールの 3 番目を変更してみます。
編集画面に戻り、デバッグ表示で Patch 関数の戻り値を保持している変数を確認してみます。
変数に続けて "."(ドット)でレコードの要素へアプローチできていますね。
公式情報どおり、戻り値で更新結果が確認可能です。
まとめ
Patch 関数の結果は 戻り値 で判別可能です!
SharePoint Online のリストで疑似的なリレーションを実現したい際などで活躍すると思います。そんな必要性に迫られた際には思い出してあげてください。
普段は気にしなくても不都合無い話題かもしれない、とも言えますw
それでは、皆さま、素晴らしい Power Platform Life を!