2023.01.10PowerApps│ギャラリーで複数アイテムの選択に対応させる方法ツイートこんにちは、あんこ先生です。ギャラリーも、選択肢用のコントロールとして使う方法があります。リストボックスよりも情報が多く、アイテムを展開した状態を維持できるので便利ですよね。画像や計算結果も扱えるので、アイデア次第で用途は無限に広がります。ギャラリーは複数選択に対応していないため、ちょっと使いにくい場面もあります。そこで、今回はギャラリーで複数アイテムの選択に対応させる方法をコード付きで紹介します。この記事を読めば、選択肢の候補がひとつ増えますよ。ギャラリーコントロールって何?という方は先にこちらの記事をオススメします。作成物の仕様サンプルは商品名と値段だけで構成されたデータソースとします。列数が増えてもやることは変わりませんよ。1000リストボックスのようにアイテムが展開され、かつ複数選択に対応させます。選択状態のアイテムは背景色を変えます。選択状態のアイテムをテーブルとして返します。作り方は2通りあります。1選択させたいデータソースにflag列を追加してコレクション化する2ギャラリーで選択したアイテムを別コレクションに格納するどちらも一長一短ですが、選択するだけなら1がかんたんです。戻り値を使ってまとめて更新したい場合は、列情報が一致している2がオススメです。それぞれの具体的な作成方法を解説していきますね。データソースをコレクション化│パターン1選択することに意義がある場合はコチラがオススメです。作り方は4ステップとシンプルです。選択肢にしたいデータソースに、選択判定に使うflag列を追加してコレクション化します。ClearCollect(データソース,AddColumns(コレクション,"flag",false))次に、そのコレクションをギャラリーに展開します。//Gallery.Itemsコレクションそして、アイテムを選択する都度、flag列の値を反転させます。//Gallery.OnSelectPatch(コレクション,ThisItem,{flag:!ThisItem.flag})最後に、背景色用の図形を用意して表示条件をflag列にすれば完成です。//Rectangle.VisibleThisItem.flag動作として、アイテムを選択するとflag列がtrueに変わり、背景色用の図形が表示されます。一度選択するとflag列がfalseに変わり、背景色用の図形が非表示になります。戻り値を利用する場合は、flag列を条件にFilter関数で絞るだけです。Filter(Gallery.AllItems,flag)戻り値をコレクション化│パターン2こちらは戻り値を使ってまとめてデータソースを更新する際に便利です。作り方はこちらも4ステップです。元データソースの空コレクションを作成します。Defaults関数を使うとかんたんです。//データソースの初期値を1レコードだけ登録ClearCollect(コレクション,Defaults(データソース));//空レコードをクリアClear(コレクション)次に、元データソースをギャラリーに展開します。//Gallery.Itemsコレクションそして、アイテムを選択する都度、コレクションに登録済みなら削除、そうでないなら格納していきます。Patch(コレクション,Defaults(コレクション),ThisItem))最後に、背景色用の図形を用意して表示条件をコレクション内に当アイテムがあるかにすれば完成です。コレクション動作として、アイテムを選択するとコレクションに登録済みか確認します。登録済みなら削除、登録されていなければ登録します。その結果、コレクションに登録されていれば背景色用の図形が表示されます。戻り値は元データソースと同じ列情報のため、一括登録や削除などが容易に行えますよ。Filter(Gallery.AllItems,flag)ちょっと難解ですが、Patch関数を用いた一括登録手順はこちらの記事をご覧ください。ギャラリーで複数アイテムの選択に対応させる方法のまとめ今回は、ギャラリーで複数アイテムの選択に対応させる方法を紹介しました。普通に使うも良し、応用すれば選択したアイテムを順にフォームで入力させることもできますよ。入れ子になっているPlannerのアサイン情報やチェックリストの更新にも便利です。この辺は需要があれば記事にまとめていきますね。PowerApps│チェックリストアプリを少し使いやすくする方法2022.09.15PowerApps│フォームを使ったチェックリストアプリの作り方2022.09.11PowerApps│領収書を発行してメール送付するアプリの作り方2022.08.30PowerApps│アクセス権のないプランにタスクをまとめて登録する方法2022.07.09ご支援よろしくおねがいしますこの記事を気に入ってくださった方、寄付してあげてもいいよという方がいらっしゃっいましたら、ご支援いただけると助かります。下記リンクからAmazonギフト券で、金額は15円からお気持ちを入力してください。メッセージもいただけるとたいへん喜びます。15:49初めまして!工場のライン業務から急にDX化グループに転属して頭が爆発しそうなサラリーマンです。19:35こんにちは!記事に関するかんたんなものならお答えしますよ込み入った内容であれば、相談チケットがありますのでそちらをご利用ください。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。US七草あんこ非IT系中間管理職やってます。社命によりoffice365を主軸とした業務改善プロジェクトメンバーに任命されたことでPowerAppsと出会えました。いまではビジネス・プライベートを問わず、欠かせないツールになっています。導入初期やアプリ作成時に遭遇した諸問題の解決法とサンプルアプリの作り方を紹介していきます。Twitterで情報収集しているので不明点など呟いているとお邪魔するかもしれません。