【Power Apps】人を検索するテキストボックスを作成する

アプリを作成する際、メールの宛先やプランナーのアサインなど、人を検索して選択する場合があります。 今回はPower Appsのトレーニングにある検索ボックスの作成方法を実行しながらまとめていきます。

トレーニングにある検索ボックスは、テキストボックスに名前を入力すると、入力したテキストに応じてギャラリーに該当する人の情報を表示するというものです。

Office 365 Usersを使用する

  1. 「データ」から「データの追加」をクリックし、「Office 365 Users」を追加します。

    Power AppsでOffice 365 Usersを追加する画面
  2. キャンバスに「テキスト入力」を挿入し、今回はテキスト入力の名前をTextInputSearchPersonに変更します。 Default値に入っている「テキスト入力」を削除します。

  3. テキスト入力のすぐ下に、テキストボックスで検索した結果を表示する「空の垂直ギャラリー」を挿入します。

    Power Appsで空の垂直ギャラリーを挿入する画面

    ギャラリーのItemsプロパティに、下記のように入力します。

    If(
        !IsBlank(TextInputSearchPerson.Text),
        Office365ユーザー.SearchUser(
            {searchTerm: Trim(TextInputSearchPerson.Text)}
        )
    )
  4. ギャラリーのOnSelectプロパティに、下記のように変数を設定します。

    Set(SelectedPerson, ThisItem);
    Set(ClearTextBox, !ClearTextBox)
  5. ギャラリーの中に「テキストラベル」を追加し、TextプロパティにThisItem.DisplayNameと入力して名前を表示させます。

  6. もうひとつテキストラベルをギャラリーの中に追加し、TextプロパティにThisItem.JobTitleと入力して役職を表示させます。

  7. ギャラリーの中に、メディアにある「画像」を挿入します。 画像のImageプロパティに下記を入力します。

    If(
        Not(IsBlank(ThisItem.Id)) And Office365ユーザー.UserPhotoMetadata(ThisItem.Id).HasPhoto,
        Office365ユーザー.UserPhoto(ThisItem.Id)
    )
  8. ギャラリーのVisibleプロパティに、TextInputSearchPersonが空欄のときは表示されないように設定します。

    !IsBlank(TextInputSearchPerson)

以上で検索ボックスの作成は完了です。

検索結果をラベルやギャラリー、変数に格納することによって、後から検索結果を使用することも可能です。

スポンサーリンク