Use uma coleção para armazenar dados que podem ser usados em seu aplicativo. Uma coleção é um grupo de itens semelhantes. Por exemplo, crie uma coleção de MyImages que armazena as imagens de todos os produtos que sua empresa vende. No PowerApps, é possível adicionar sua coleção MyImages e criar um aplicativo que exibe todas as imagens desses produtos. Em outro exemplo, você pode criar uma coleção PriceList que lista os produtos e o preço de cada produto.

É possível criar e usar coleções no PowerApps. Vamos começar.

Pré-requisitos

  • Inscreva-se no PowerApps, instale-o, abra-o e entre, fornecendo as mesmas credenciais que usou para se inscrever.
  • Crie um aplicativo ou abra um aplicativo existente no PowerApps.
  • Saiba como configurar um controle no PowerApps.
  • Essas etapas usam o arquivo PriceList.zip como dados de entrada de exemplo. O arquivo zip inclui um arquivo XML que pode ser convertido em Excel. Caso contrário, o PowerApps lê automaticamente os arquivos nos arquivos. zip e os importa com êxito. É possível baixar e usar esses dados de exemplo ou importar seus próprios dados.

Criar uma coleção de coluna única

As etapas a seguir mostram como criar uma coleção dentro de seu aplicativo usando a função Coletar e como adicionar itens à sua coleção.

  1. Abra seu aplicativo.
  2. Na guia Inserir, selecione Texto e, em seguida, selecione Texto de Entrada:

  3. No canto superior esquerdo, selecione Text1 e renomeie o controle como Destino:

  4. Na guia Inserir, selecione Botão para adicionar um controle de botão ao seu designer. Na lista suspensa, a propriedade OnSelect é listada. Defina-a como a função a seguir:

    Collect(Destinations, Destination!Text)

    Ela deve ser semelhante ao seguinte:

  5. Selecione o texto do botão e digite Adicionar:

  6. Selecione o botão Adicionar e mova-o para baixo de seu controle de texto. Você pode movê-lo para qualquer lugar:

Nestas etapas, você usou a função Coletar para criar uma coleção denominada Destinos. Você também adicionou um controle de botão que, quando selecionado, adiciona novos itens à sua coleção. Agora, veja o que você criou:

  1. Selecione Visualizar:

  2. Digite o nome de uma cidade na caixa e, em seguida, selecione o botão Adicionar.

  3. Insira alguns nomes adicionais de cidades e selecione o botão Adicionar em cada vez.

  4. Pressione a tecla Esc para fechar a janela de Visualização.

  5. Consulte a coleção de Destinos e os valores de texto que você inseriu. Na guia Arquivo, selecione Coleções. O texto inserido é listado:

Crédito extra

Agora, vamos associar a coleção de Destinos a uma caixa de listagem:

  1. Volte para o designer.
  2. Na guia Inserir, selecione Controles e, em seguida, selecione ListBox:

  3. Mova a caixa de listagem para que você possa vê-la facilmente. Defina sua propriedade Itens como a expressão a seguir:
    Destinations!Value

    Quando você fizer isso, a caixa de listagem será preenchida automaticamente com os itens que você digitou anteriormente na coleção de Destinos:

Visualize suas alterações: . Na caixa de listagem, é possível ver as diferentes cidades inseridas. Na caixa de texto de entrada, insira uma nova cidade e selecione o botão Adicionar. A caixa de listagem é atualizada automaticamente para incluir a nova cidade que inseriu.

Criar uma coleção de várias colunas

As etapas a seguir mostram como criar uma coleção dentro de seu aplicativo usando a função Coletar e como adicionar diversas linhas à sua coleção.

  1. Na guia Início, abra uma nova tela.
  2. Na guia Inserir, selecione Texto e, em seguida, selecione Texto de Entrada.
  3. Renomeie o controle de texto como City:

  4. Insira outro controle de texto de entrada e renomeie-o como Estados.

  5. Mova os controles de texto de cidade e estado para que você possa ver ambos:

    Observação: você pode substituir 'Texto de Entrada' por algo como 'Cidade' ou 'Estado', o que foi feito na imagem.

  6. Na guia Inserir, selecione Botão. Defina sua propriedade OnSelect como a função a seguir:
    Collect(Destinations, {Cities:City!Text, States:States!Text})

    Ela deve ser semelhante ao seguinte:

    Observação: você pode usar essa mesma função para adicionar colunas adicionais a essa coleção. Por exemplo, você pode adicionar outro texto de entrada para país para adicionar uma coluna de países:

    Collect(Destinations, {Cities:City!Text, States:States!Text}, {Countries:Country!Text})

  7. Renomeie o controle de botão AddCityStateButtone defina sua propriedade de Texto como Adicionar cidade e estado:

Nestas etapas, você adicionou uma coluna de Cidades e uma coluna de Estados à coleção Destinos. O controle de botão adiciona esses novos itens de texto à sua coleção. Agora, veja o que você criou:

  1. Selecione Visualizar:

  2. Digite algum texto nas caixas de Cidade e Estado e, em seguida, selecione o botão Adicionar cidade e estado.
  3. Adicione mais algumas cidades e estados.
  4. Pressione a tecla Esc para fechar a janela de Visualização.
  5. Para ver os itens adicionados à coleção Destinos, selecione a guia Arquivo e, em seguida, selecione Coleções:

Adicionar colunas a uma coleção

Há algumas seções neste guia passo a passo. Ao concluir, você saberá como importar dados para sua coleção, como criar uma galeria que mostra dados em uma lista de preços e como usar um controle deslizante que determina a quantidade de um produto.

Importar a lista de preços e criar a coleção

  1. Faça download do arquivo zip PriceList.
  2. Na guia Início, adicione uma nova tela.
  3. Na guia Inserir, selecione Controles e, em seguida, selecione Importar:

  4. Na guia Ação selecione OnSelect. Insira a função a seguir:

    Collect(PriceList, Import1!Data)

  5. Visualize seu aplicativo. Selecione o botão Importar dados, selecione o arquivo PriceList.zip e selecione Abrir.

  6. Feche a janela de Visualização.

  7. Selecione a guia Arquivo e selecione Coleções. Os itens de PriceList que você importou são listados:

Adicionar a galeria para exibir os itens de coleção

  1. Volte para o designer.
  2. Na guia Inserir, selecione Galeria, role para baixo até Galerias personalizadas e, em seguida, selecione Retrato:

  3. Renomeie a galeria como PriceGallery e defina a propriedade Itens como PriceList:

  4. Mova a galeria PriceList abaixo do controle Importar Dados. Selecione as bordas da galeria e clique e arraste para redimensionar a galeria até que três quadrados sejam exibidos.
  5. Na galeria, selecione o primeiro quadrado e adicione três rótulos (guia Inserir > Rótulo).
  6. Redimensione e organize os rótulos em uma linha na parte superior do primeiro quadrado. A galeria é semelhante à seguinte:
  7. Defina a propriedade de Texto de cada rótulo como a expressão a seguir:

    Rótulo Defina a propriedade de Texto como
    Label1 ThisItem!Name
    Label2 Text(ThisItem!Price, "$#")
    Label3 ThisItem!Maker

    Quando você fizer isso, os rótulos serão atualizados automaticamente com os valores de nome, preço e fabricante dentro da coleção PriceList.

  8. Redimensione os rótulos e a galeria para remover todos os espaços adicionais. Sua tela terá uma aparência semelhante à seguinte:

Adicionar o controle deslizante de quantidade e atualizar a coleção

  1. No menu Inserir, selecione Controles e selecione Controle deslizante. Renomeie o controle deslizante para OrderQty e mova-o para galeria.
  2. Adicione um botão, defina sua propriedade de Texto como Adicionar e mova-o sob o controle deslizante OrderQty. Seu aplicativo é semelhante ao seguinte:
  3. Defina a propriedade OnSelect do botão Adicionar como a seguinte expressão:

    Collect(OrderList, {Name:PriceGallery!Selected!Name, Qty:OrderQty!Value, Cost:OrderQty!Value*LookUp(PriceList, PriceGallery!Selected!Name in Name, Price)});SaveData(OrderList, "orderfile")

    Observação quando você seleciona esse botão posteriormente neste procedimento, uma coleção denominada OrderList será criada e salva. A coleção conterá o nome de um produto inserido na galeria, uma quantidade escolhida com o controle deslizante e o custo total calculado multiplicando a quantidade pelo preço do produto.

  4. Selecione a guia Tela e defina a propriedade OnVisible com a seguinte expressão:

    If(IsEmpty(PriceList), LoadData(PriceList, "pricefile"));If(IsEmpty(OrderList), LoadData(OrderList, "orderfile"))

Agora, veja o que você criou:

  1. Abra a Visualização.
  2. Selecione um produto na galeria, mova o controle deslizante para a quantidade desejada e, em seguida, selecione o botão Adicionar.

    Importante:

    Quando você seleciona um produto, esse produto não é realçado para indicar que ele foi selecionado. Quando criamos a galeria, não adicionamos essa funcionalidade. Saiba que clicar no produto o seleciona.

  3. Repita essas etapas para adicionar mais alguns produtos. Pressione ESC para fechar a janela de Visualização.

  4. Na guia Arquivo selecione Coleções para exibir uma visualização da coleção OrderList que você criou:

Dica:

Para remover todos os itens da lista de pedidos, adicione um botão, defina sua propriedade de Texto como Limpar e defina sua propriedade OnSelect com a seguinte expressão:
Clear(OrderList);SaveData(OrderList, "orderfile")
Para remover um item por vez, exiba a coleção OrderList em uma galeria e, em seguida, defina a propriedade OnSelect de um rótulo que galeria com a seguinte expressão:
Remove(OrderList, ThisItem);SaveData(OrderList, "orderfile")

dicas e truques

  • A qualquer momento, é possível selecionar no botão Visualizar ( ) para exibir os gráficos e ver como eles aparecem com os dados.
  • Ao desenvolver seu aplicativo, é possível redimensionar os controles e movê-los usando clicar e arrastar.

O que você aprendeu

Neste tópico, você:

  • Usou a função Collect() para criar uma coleção no aplicativo.
  • Adicionou um controle de botão que, quando selecionado, adiciona novos itens à sua coleção.
  • Usou uma caixa de listagem para adicionar itens à sua coleção.
  • Adicionou um controle deslizante para atualizar itens dentro da coleção.