仕事でやってて引っかかったことなので、画像とかは無く記憶で書いています。
やりたいこと
通常はアイテムを1つだけ表示すると思うので、その場合は普通に「文字列」でデフォルト値を設定してあげればいいです。
ですが、今回私がやりたいことは「2つの値を表示しているコンボボックス」の初期値設置です。
前述したとおり、手元にPowerAppsが無いので、下記はExcelで作ったサンプル画像ですが、イメージとしてはこんな感じのコンボボックスの初期値を設定したいという内容です。
前提条件
- PowerAppsシート内にComboboxを作成している
- itemにコレクションを設定している
- 2行表示で「ID」と「Value」値の両方を選択時に表示している
表示結果
- 選択する時は2桁表示ですが、初期値としてバーに表示されるのは1つ(指定した値のみ)
Comboboxの初期値を「Default」値として設定してもエラーになる
エラーになった時にやった方法
どうやったらいいかわからなかったので、最初は普通に「ID」の値をDefault(Selectedだっけ?)に入れました。
するとエラー表示でアウト。
当然プレビューで実行すると何にも表示されません。
エラーの解決策
ここでエラーの原因を考えると、まず初期値に「値」を設定しているということが問題でした。今回itemに設定しなければならない値は単一では無く複数になります。
なので「文字列」ではなくテーブルの「レコード」を取得しないといけなかったみたいです。
エラーの解決策
上記の理由から初期値の設定はテーブルからレコードを取得するようにしないといけません。
というわけで、テーブルからレコードを取得するためには「Lookup関数」を使用してあげればできます。
「Lookup関数」を使用して初期値を設定すると、希望通りの結果が表示されます。
まとめ
結果的にみれば「確かにレコード単位だよね」なんですけど、もうちょっとわかりやすいと嬉しいなと思うのは私が未熟だからなのかな・・・ググっても余り情報が無いのでとても苦労するPowerAppsです。
ローコード(ノーコード?)なシステムだし、もうちょっとわかりやすくしてくれてもいいのにと思っちゃう・・・
参考画像が無いので見辛いと思いますが、誰かの参考になれば嬉しいです。