仕事でやってて引っかかったことなので、画像とかは無く記憶で書いています。
- PowerAppsのコンボボックスに値を2つ表示する方法が知りたい
やりたいこと
通常はアイテムを1つだけ表示すると思うので、その場合は普通に「文字列」でデフォルト値を設定してあげればいいです。
ですが、今回私がやりたいことは「2つの値を表示しているコンボボックス」の初期値設置です。
前述したとおり、手元にPowerAppsが無いので、下記はExcelで作ったサンプル画像ですが、イメージとしてはこんな感じのコンボボックスの初期値を設定したいという内容です。

前提条件
- PowerAppsシート内にComboboxを作成している
- itemにコレクションを設定している
- 2行表示で「ID」と「Value」値の両方を選択時に表示している
上記条件で試した内容となります。
表示結果
- 選択する時は2桁表示ですが、初期値としてバーに表示されるのは1つ(指定した値のみ)
コレクションを設定しているので、IdもValueも表示されそうですが、値を指定しているからか表示されるのは1つだけでした。

Comboboxに2つの値を表示する方法はあるか?
ググってもちょっと見つけられなかったので、今回は自分でグルグルいじりました。
以下の流れで試してみました。
- Comboboxの初期値を「Default」値として設定してみる
- 初期値の設定は「文字列」ではなく「レコード」を取得する
1.Comboboxの初期値を「Default」値として設定してみる
まず試したのはとりあえず値をDefaultに入れてみる
どうやったらいいかわからなかったので、最初は普通に「ID」の値をDefault(Selectedだっけ?)に入れました。
するとエラー表示でアウト。
当然プレビューで実行すると何にも表示されません。
エラーが出たので原因を考える
ここでエラーの原因を考えると、まず初期値に「値」を設定しているということが問題でした。今回itemに設定しなければならない値は単一では無く複数になります。
なので「文字列」ではなくテーブルの「レコード」を取得しないといけなかったみたいです。
2.初期値の設定は「文字列」ではなく「レコード」を取得する
上記の理由から初期値の設定は、テーブルから「レコード」を取得するようにしないといけません。
とはいえ、このままではレコードが取得できません。
テーブルからレコードを取得するには「Lookup関数」を使用する
テーブルからレコードを取得するためには「Lookup関数」を使用して設定してあげればできます。
「Lookup関数」を使用して初期値を設定すると、希望通りの結果が表示されました。
まとめ
結果的にみれば「確かにレコード単位だよね」なんですけど、もうちょっとわかりやすいと嬉しいなと思うのは私が未熟だからでしょうか・・・
ググっても余り情報が無いので毎回とても苦労するPowerAppsです。
ローコード(ノーコード?)なシステムだし、もうちょっとわかりやすくしてくれてもいいのにと思っちゃう・・・
参考画像が無いので見辛いと思いますが、誰かの参考になれば嬉しいです。
