Power Apps Office365ユーザーのコンボボックスで複数人を既定で選択する方法|1行テキストの分割も

以前の記事でOffice365ユーザーをコンボボックスに表示する方法と、ユーザーをデフォルトで選択する方法を書いたが、複数ユーザーをデフォルトで選択する方法はないか?と質問をもらったのでその方法をメモ。

スポンサーリンク

やりたいこと

こんな感じでSearchUserのV1を使用してユーザーを一覧表示するコンボボックスと
V2を使用してユーザーを一覧表示するコンボボックスがあって、
複数ユーザーを特定する情報(今回はコレクションに複数のメールアドレス)があったときに、これらのユーザーをコンボボックスの既定で選択したい、という内容。

既定で選択する方法

SearchUser V1

まずV1のコンボボックスで既定で複数選択をするときの式はこんな感じ。

すべてのアイテムに対し(ForAll)、前回の記事で書いた単数選択と同様にSearchUser関数を使用して既定を指定する。

SearchUserの結果はテーブルで返ってくるため(検索結果は複数の場合もあるから)、First関数を使って最初の検索結果を指定してあげている。

SearchUser V2

V2の既定複数選択もV1と考え方は同じでこんな感じの式になる。

中のSearchUserがV2になって、SearchUserV2の戻り値に「.value」を加えたくらいで他はほぼ変わらず。
※SearchUserV1でも既定の選択は可能だけど、バージョンは合わせたほうが良い気がする。

複数ユーザーの情報が1行テキストに収められているときに選択を復元する

SPOリストとかの1アイテムに複数ユーザーの情報を詰めるとき、こんな感じで区切り文字(今回は「;」)を使用して格納することもある。

これをコンボボックスに復元したいときを考えてみる。

SearchUser V1

SerachUser V1のときはこんな感じの式でいける。

ForAllの第1引数をSplitで分割したテキストに変更するだけで、中のFilterはSplit関数で分割したときに作成されることがある「空の配列アイテム」を取り払う処理になる。

SearchUser V2

SerachUser V2も考え方は同じで、こんな式で複数選択することができる。

さっきと同様に、中のSearchUserをV2にして、SearchUserV2の戻り値に「.value」を加えただけ。

関連記事

コメント

タイトルとURLをコピーしました