Armazenar uma tabela
Nos exemplos anteriores, as tabelas foram usadas somente no contexto atual da tabela Data ou no controle Lista suspensa. Muitas vezes, no aplicativo, você precisará armazenar uma tabela e usá-la em vários locais no aplicativo. Para fazer isso, o Power Apps tem uma variável de tabela chamada coleção.
As coleções são um tipo de variável no Power Apps
As coleções são variáveis de tabela, nas quais você pode armazenar dados em um formato estruturado, como faria em uma fonte de dados tabular, sem gravações em uma fonte de dados. Ou seja, as coleções armazenam valores em linhas e colunas. É possível usar coleções com funções de tabela da mesma forma como faria com qualquer outra fonte de dados. No entanto, você não pode usar uma coleção com o controle Formulário. Se você tem experiência como desenvolvedor, pode pensar em uma coleção como uma matriz. Você não precisa inicializar ou predefinir uma coleção. Quando você cria a coleção e define valores, o Power Apps configura-a para você.
Criar uma coleção
A criação de uma coleção pode ser feita no seu aplicativo em qualquer lugar em que uma ação normalmente possa ser realizada. Por exemplo, você pode criar uma coleção ao pressionar um botão alterando a propriedade OnSelect do botão. Também é possível criar uma coleção sempre que você chegar a uma determinada tela alterando a propriedade OnVisible dessa tela. Você pode criar uma coleção chamada collectMyFirstCollection usando essa fórmula.
Collect(collectMyFirstCollection, {Name: "George", FavoriteColor:"Orange"})
Isso criaria uma coleção chamada collectMyFirstCollection. A coleção teria uma coluna chamada Name e outra coluna chamada FavoriteColor. A coleção teria um registro (linha) de dados com George como o valor de Name e Orange como o valor de FavoriteColor. Observe que a sintaxe é semelhante à função Table mostrada anteriormente neste módulo.
É possível adicionar outro registro à coleção usando esta fórmula.
Collect(collectMyFirstCollection, {Name: "Nicole", FavoriteColor:"Purple"})
Também é possível adicionar mais de um registro por vez usando esta fórmula.
Collect(collectMyFirstCollection, {Name: "Jeff", FavoriteColor:"Blue"}, {Name: "Ralph", FavoriteColor: "Red"})
Se você executasse todos esses comandos, sua coleção seria semelhante a esta tabela:
| Name | FavoriteColor |
|---|---|
| George | Orange |
| Nicole | Purple |
| Jeff | Blue |
| Ralph | Red |
Você pode usar essa coleção como uma fonte de dados de qualquer controle que precise de uma tabela, por exemplo, em um controle Lista Suspensa ou Galeria.
Remover dados de uma coleção
Para limpar os dados existentes da coleção antes de adicionar novos dados, use a função ClearCollect. Usando a coleção existente do exemplo anterior, aplique esta fórmula:
ClearCollect(collectMyFirstCollection, {Name: "Fred", FavoriteColor:"Green"})
Isso teria o efeito de limpar todos os registros na tabela antes de adicionar o novo registro. Sua coleção seria agora semelhante a esta:
| Name | FavoriteColor |
|---|---|
| Fred | Green |
Também é possível remover todos os registros de uma coleção usando a função Clear. Esta fórmula remove todos os registros da coleção, mas deixa suas colunas intactas:
Clear(collectMyFirstCollection)