お客様から実際に何度か受けた質問シリーズ。
Power Apps のキャンバスアプリで、SubmitForm関数を使わずに
Patch関数を使って SharePointリストの添付ファイル列にファイルを登録する方法です。
今回の条件
・ Power Apps キャンバスアプリ
・接続先は SharePointリスト
質問いただく背景
キャンバスアプリでは、フォームを設置してSubmitForm関数を使うとキャンバスアプリと接続しているデータソースに対して登録・更新・削除を行うことができます。
ですが、入力エリアのデザインカスタマイズをもっとしたい場合、フォームパーツだとどうしても希望通りにレイアウトを組むことが難しい場面があります。
そんな場合は、一つ一つテキスト入力ボックスなどの入力パーツをキャンバス上に配置して、Patch関数を使ってデータソースに対して登録・更新・削除を行っていくのですが。。。
添付ファイルを登録する時に、Patch関数使えないの?
こちらの質問をよくいただきますので、実装方法を書いてみたいと思います。
キャンバスアプリ
上にテキスト入力ボックス、下にフォームパーツを設置。
フォームの中には添付ファイル列だけを表示させています。
ボタンのOnSelectプロパティの設定
Patch(添付ファイルPatch,Defaults(添付ファイルPatch),{Title:TextInputTitle.Text},Form1.Updates);
記述の中で
Defaults(添付ファイルPatch)
と書くと、新規のリストアイテムを作成します。
続いて、{} の部分で列名に続いて、登録する値を指定します。
{} の後に「,」を入力した後、続けて
フォーム名.Updates
と書くと、フォーム内の添付ファイルの入力で選んだファイルをPatch関数で登録することができました!
キャンバス内に自由に入力パーツを配置して、Patch関数を使ってデータソースに対して新規登録を行う場合、SharePointリストの添付ファイル列に対してファイルを登録したい場合の参考になれば幸いです。