Power Apps のコレクションで「コントロール-underfined」や「網掛け」が表示される理由
こんなコトありませんか?
-
ClearCollect 関数や Collect 関数でコレクションを作成し、式にエラーは出ていない
-
でも変数 > コレクション で確認すると「コントロール-underfined」や「網掛け」のようなマークと表示され、入力した値が入っているか分からない💦
これを解消する方法を説明します。
コントロール-underfined の解消方法
そもそも「underfined」って?
underfined とは日本語では「定義されていない」という意味です。
だから、列に入っているはずの値が見れないんですね。
その為、各列の値を定義すればこの表示はなくなります。
実装方法
列の値を定義する為にプロパティを指定する必要があります。
今回の場合は編集フォームに入力した値を指定しているので、DataCardValue の後にプロパティを指定してあげればよいです。
Collect(コレクション名,
{
タイトル:DataCardValue1.Text,
選択肢:DataCardValue2.Selected.Value,
日付:DataCardValue3.SelectedDate,
ユーザー:DataCardValue12.SelectedItems,
数値:DataCardValue13.Text,
はいいいえ:DataCardValue14.Value,
ハイパーリンク:DataCardValue15.Text,
通貨:DataCardValue16.Text,
画像:Image3.Image,
管理されたメタデータ:DataCardValue25.SelectedItems,
参照:DataCardValue26.SelectedItems
}
)
指定するプロパティはデータ型によって変わります。
主なデータ型と指定プロパティをまとめましたので、ご確認ください。
プロパティを指定すると、コレクションに値が表示されるようになりました。
ただ、まだ「網掛け」の部分も残っています。
網掛け の解消方法
そもそもなぜ「網掛け」に?
網掛け部分はテーブル型の値です。
網掛けそのものをクリックすると、複数の値が入っていることが分かります。
例えば参照列の場合は、Id と Value が入っています。
解消方法
解消する為には複数入っている値のどれか1つを指定してあげれば良いです。
SelectedItems だった部分を「Selected.値の名称」に変えれば解決です。
Collect(colaaa,
{
タイトル:DataCardValue1.Text,
選択肢:DataCardValue2.Selected.Value,
日付:DataCardValue3.SelectedDate,
ユーザー:DataCardValue12.Selected.Department,
数値:DataCardValue13.Text,
はいいいえ:DataCardValue14.Value,
ハイパーリンク:DataCardValue15.Text,
通貨:DataCardValue16.Text,
画像:Image3.Image,
管理されたメタデータ:DataCardValue25.Selected.Value,
参照:DataCardValue26.Selected.Value
}
)
変数 > コレクションから確認すると、網掛けが消滅したのが分かります。
ただ、参照列のデータを SharePoint に Patch 関数で保存するような時は Id と Value がそろっていなくてはいけません。
その為、後続の作業で何が必要なのかを考えて、コレクションを作成する必要があります。
終わりに
データ型を意識しながら作業をすると、実装がスムーズに進みます。
少しずつ確認しながらやってみてください。
Discussion