テーブルを格納する

完了

前の例では、テーブルは、データ テーブルまたは ドロップダウン コントロールの現在のコンテキストでのみ使用されました。 多くの場合アプリでは、テーブルを格納し、アプリ内の複数の場所で使用する必要があります。 これを行うため、Power Apps にはコレクションという名前のテーブル変数があります。

コレクションは Power Apps の変数の一種である

コレクションはテーブル変数であり、データ ソースに書き込むことなく、表形式のデータ ソースのように、データを構造化された形式で格納できます。 つまり、コレクションでは値は行と列に格納されます。 他のデータ ソースと同様に、テーブル関数とコレクションを使用できます。 ただし、フォーム コントロールでコレクションを使用することはできません。 開発者の経験があれば、コレクションは配列と考えることができます。 コレクションを初期化または事前定義する必要はありません。 作成して値を設定すると、Power Apps によって自動的に設定されます。

コレクションの作成

通常、アクションを実行できる場所であれば、アプリ内でコレクションを作成できます。 たとえば、ボタンの OnSelect プロパティを変更することにより、ボタンを押すとコレクションを作成できます。 さらに、特定の画面に到達したときに、その画面の OnVisible プロパティを変更することによりコレクションを作成することもできます。 次の式を使用すると、collectMyFirstCollection という名前のコレクションを作成することができます。

Collect(collectMyFirstCollection, {Name: "George", FavoriteColor:"Orange"})

これにより、コレクション名 collectMyFirstCollection が作成されます。 コレクションには、Name および FavoriteColor という名前の列があります。 コレクションのデータは 1 レコード (行) であり、Name の値は George、FavoriteColor の値は Orange です。 その構文はこのモジュールで前に説明した Table 関数とよく似ていることに注意してください。

次の式を使用して、別のレコードをコレクションに追加できます。

Collect(collectMyFirstCollection, {Name: "Nicole", FavoriteColor:"Purple"})

次の式を使用すると、一度に複数のレコードを追加することもできます。

Collect(collectMyFirstCollection, {Name: "Jeff", FavoriteColor:"Blue"}, {Name: "Ralph", FavoriteColor: "Red"})

これらのコマンドをすべて実行した場合、コレクションは次の表のようになります。

Name FavoriteColor
George Orange
Nicole Purple
Jeff Blue
Ralph Red

このコレクションは、テーブルを必要とする任意のコントロールのデータ ソースとして使用することができます (ギャラリー コントロールやドロップダウン コントロールなど)。

コレクションからデータを削除する

新しいデータを追加する前に、コレクションから既存のデータを消去するには、ClearCollect 関数を使用できます。 前の例の既存のコレクションを使用すると、次の式を使用できます。

ClearCollect(collectMyFirstCollection, {Name: "Fred", FavoriteColor:"Green"})

これにより、新しいレコードを追加する前に、テーブルのすべてのレコードが消去されます。 コレクションは次のようになります。

Name FavoriteColor
Fred Green

Clear 関数を使用して、コレクションからすべてのレコードを削除することもできます。 次の式では、コレクションからすべてのレコードが削除されますが、列はそのまま残されます。

Clear(collectMyFirstCollection)