お客様から実際に何度か受けた質問シリーズ。
Power Apps のキャンバスアプリで、SubmitForm関数を使わずに
Patch関数を使って SharePointリストのユーザー型の列にファイルを登録する方法です。
今回の条件
・ Power Apps キャンバスアプリ
・接続先は SharePointリスト
質問いただく背景
キャンバスアプリでは、フォームを設置してSubmitForm関数を使うとキャンバスアプリと接続しているデータソースに対して登録・更新・削除を行うことができます。
ですが、入力エリアのデザインカスタマイズをもっとしたい場合、フォームパーツだとどうしても希望通りにレイアウトを組むことが難しい場面があります。
そんな場合は、一つ一つテキスト入力ボックスなどの入力パーツをキャンバス上に配置して、Patch関数を使うのですが。。。
ドロップダウンやコンボボックスで選択したユーザーの値をSharePointリストへ登録したい。
けれど、メールアドレスや氏名の値を送信するだけでは登録がうまくいかない。
どうやって書けばいいの?
こちらの質問をよくいただきますので、実装方法を書いてみたいと思います。
キャンバスアプリ
一番上にテキスト入力ボックス、2番目にユーザーを選択するドロップダウンを配置しています。
送信ボタンのOnSelectプロパティの設定
ユーザー型の列に対して登録をする時は、{} で囲われた部分に複数項目の情報を入れてあげないとエラーになります。
(最初これがわかっておらず、調べました。。。)
ユーザー型の列名:
{
Value:User().Email,
'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
Claims: "i:0#.f|membership|" & Lower(User().Email),
Department: "",
DisplayName: "",
Email: "",
JobTitle: "",
Picture: ""}
}
今回は、キャンバスアプリを使っているユーザーのメールアドレスをセットしています。
ボタンを押して送信します。
最後に
Patch関数を使ってSharePointリストのユーザー型の列に対してファイルを登録したい時の参考になれば幸いです。