テーブルを格納する
前の例では、テーブルは、データ テーブルまたは ドロップダウン コントロールの現在のコンテキストでのみ使用されました。 多くの場合アプリでは、それらのテーブルを格納し、アプリ内の複数の場所で使用する必要があります。 これを行うため、Power Apps にはコレクションという名前のテーブル変数があります。
コレクションは Power Apps の変数の一種
コレクションはテーブル変数であり、データ ソースに書き込むことなく、表形式のデータ ソースのように、データを構造化された形式で格納できます。 つまり、値は行と列に格納されます。 他のデータ ソースと同様に、Table 関数とコレクションを使用できます。 ただし、フォーム コントロールでコレクションを使用することはできません。 開発者の経験があれば、コレクションは配列と考えることができます。 コレクションを初期化または事前定義する必要はありません。 作成して値を設定すると、Power Apps によって自動的に設定されます。
コレクションの作成
通常、アクションを実行できる場所であれば、アプリ内でコレクションを作成できます。 たとえば、ボタンの OnSelect プロパティを変更してボタンを押したときにコレクションを作成したり、その画面の OnVisible プロパティを変更して特定の画面に到達したときにコレクションを作成したりできます。 次の式を使用すると、collectMyFirstCollection という名前のコレクションを作成することができます。
Collect(collectMyFirstCollection, {Name: "Shane", FavoriteColor:"Orange"})
コレクションには、Name および FavoriteColor という名前の列があります。 コレクションのデータは 1 レコード (行) であり、Name の値は Shane、FavoriteColor の値は Orange です。 その構文はこのモジュールで前に説明した Table 関数とよく似ていることに注意してください。
次の式を使用して、別のレコードをコレクションに追加できます。
Collect(collectMyFirstCollection, {Name: "Nicola", FavoriteColor:"Purple"})
次の式を使用すると、一度に複数のレコードを追加することもできます。
Collect(collectMyFirstCollection, {Name: "Jeff", FavoriteColor:"Blue"}, {Name: "Chewy", FavoriteColor: "Red"})
これらのコマンドをすべて実行した場合、コレクションは次の表のようになります。
Name | FavoriteColor |
---|---|
Shane | Orange |
Nicola | Purple |
Jeff | Blue |
Chewy | Red |
その後、そのコレクションを、ギャラリー または ドロップダウン コントロールのデータ ソースとして使用できます。
コレクションからデータを削除する
データを追加する前に、コレクションから既存のデータを消去するには、ClearCollect 関数を使用できます。 前の例の既存のコレクションを使用すると、次の式を使用できます。
ClearCollect(collectMyFirstCollection, {Name: "Fausto", FavoriteColor:"Green"})
コレクションは次の表のようになります。
Name | FavoriteColor |
---|---|
Fausto | Green |
Clear 関数を使用して、コレクションからすべてのレコードを削除することもできます。 次の式では、コレクションからすべてのレコードが削除されますが、列はそのまま残されます。
Clear(collectMyFirstCollection)