はじめに
SharePointリストでユーザー列と選択肢列を作って、そのリストをPowerAppsで取得し、コンボボックスのItemsに表示しようとしたのですが、どちらもレコードデータになってしまって一筋縄ではいきませんでした。
解決までに結構調べてしまったので、同じようなことをしたいと思っている方の参考になれば幸いです。
前提条件
作成したSharePointリストの構造です。
ID | ユーザー | 部署 |
---|---|---|
1 | テーブル1 | テーブル2 |
DisplayName | |
---|---|
Hoge Taro | fuga@fuga.com |
Value |
---|
Piyo部 |
解決策
コンボボックスのItemsに以下のコードを書くことで、DisplayName、Email、部署データのリストを表示することができます。もっときれいなコードが書けるかもしれませんが…。
Sort(
ForAll(
// TestListの行数分ループ
Sequence(CountRow(TestList)),
{
// ValueにはSequenceで生成された行番号(シーケンス番号)が入ります。
DisplayName: Index(TestList.ユーザー,Value).ユーザー.DisplayName,
Email: Index(TestList.ユーザー,Value).ユーザー.Email,
// ここは最初のValueがシーケンス番号、後ろのValueがテーブル2の列名です。
部署: Index(TestList.部署,Value).部署.Value
}
),
// DisplayNameの昇順でソート
DisplayName, SortOrder.Ascending
)
Sort()はお好みで!
コメント