Criar e atualizar uma coleção na sua aplicaçãoCreate and update a collection in your app

Utilize uma coleção para armazenar dados que podem ser utilizados na sua aplicação.Use a collection to store data that can be used in your app. Uma coleção é um grupo de itens que são semelhantes.A collection is a group of items that are similar. Por exemplo, crie uma coleção de MyImages que armazena todas as imagens de produtos que a sua empresa vende.For example, you create a MyImages collection that stores all the product images your company sells. Dentro do PowerApps, pode adicionar a coleção de MyImages e criar uma aplicação que apresenta todas as imagens destes produtos.Within PowerApps, you can add your MyImages collection and create an app that displays all the pictures of these products. Noutro exemplo, pode criar uma coleção de PriceList que lista os produtos e o preço de cada produto.In another example, you can create a PriceList collection that lists the products and the price of each product.

Pode criar e utilizar coleções dentro do PowerApps.You can create and use collections within PowerApps. Vamos começar.Let's get started.

Pré-requisitosPrerequisites

  • Inscreva-se e instale o PowerApps, abra-o e, em seguida, inicie sessão com as mesmas credenciais que utilizou para se inscrever.Sign up for PowerApps, install it, open it, and then sign in by providing the same credentials that you used to sign up.
  • Criar uma aplicação ou abrir uma aplicação existente no PowerApps.Create an app or open an existing app in PowerApps.
  • Saiba como configurar um controlo no PowerApps.Learn how to configure a control in PowerApps.
  • Estes passos utilizam o ficheiro PriceList.zip como dados de entrada de exemplo.These steps use the PriceList.zip file as sample input data. O ficheiro zip inclui um ficheiro XML que pode ser convertido para Excel.The zip file includes an XML file that can be converted to Excel. Caso contrário, o PowerApps lê automaticamente os ficheiros .zip e importa-os com êxito.Otherwise, PowerApps automatically reads the files in the .zip files and imports it successfully. Pode transferir e utilizar estes dados de exemplo ou importar os seus próprios.You can download and use this sample data, or import your own.

Criar uma coleção de coluna únicaCreate a single-column collection

Os passos seguintes mostram como criar uma coleção na sua aplicação com a função Recolher, e como adicionar itens à sua coleção.The following steps show you how to create a collection within your app using the Collect function, and how to add items to your collection.

  1. Abra a sua aplicação.Open your app.
  2. No separador Inserir, selecione Texto e, em seguida, selecione Introdução de texto:On the Insert tab, select Text, and then select Text input:
  3. No canto superior esquerdo, selecione Text1e mude o nome do controlo para Destino:In the top left corner, select Text1, and rename the control to Destination:
  4. No separador Inserir, selecione Botão para adicionar um controlo de botão para o estruturador.On the Insert tab, select Button to add a button control to your designer. Na lista pendente, a propriedade OnSelect está listada.From the drop-down list, the OnSelect property is listed. Defina-a para a função seguinte:Set it to the following function:

    Collect(Destinations, Destination!Text)

    Deve ter o seguinte aspeto:It should look like the following:

  5. Selecione o texto do botão e introduza Adicionar:Select the button text, and enter Add:
  6. Selecione o botão Adicionar e mova-o sob o controlo de texto.Select the Add button, and move it under your text control. Pode movê-la em qualquer local:You can move it anywhere:

Nestes passos, utilizou a função Recolher para criar uma coleção designada Destinos.In these steps, you used the Collect function to create a collection named Destinations. Também adicionou um controlo de botão e, quando selecionado, adiciona novos itens à sua coleção.You also added a button control and when selected, adds new items to your collection. Agora, veja o que criou:Now, see what you created:

  1. Selecione Pré-visualização:Select Preview:
  2. Escreva um nome de cidade na caixa e, em seguida, selecione o botão Adicionar.Type a city name into the box, and then select the Add button.
  3. Introduza alguns nomes de cidade adicionais e selecione o botão Adicionar cada vez.Enter some additional city names and select the Add button each time.
  4. Prima a tecla Esc para fechar a janela de Pré-visualização.Press the Esc key to close the Preview window.
  5. Veja a coleção de Destinos e os valores de texto que introduziu.See the Destinations collection and the text values you entered. No separador Ficheiro, selecione Coleções.On the File tab, select Collections. O texto que introduziu está listado:The text you entered is listed:

Crédito adicionalExtra credit

Agora, vamos ligar a coleção de Destinos a uma caixa de listagem:Now, let's bind the Destinations collection to a listbox:

  1. Volte para o estruturador.Go back to your designer.
  2. No separador Inserir, selecione Controlos e, em seguida, selecione Caixa de Listagem:On the Insert tab, select Controls, and then select ListBox:
  3. Mova a caixa de listagem para que possa vê-la facilmente.Move the listbox so you can easily see it. Defina a respetiva propriedade Itens como a expressão seguinte:Set its Items property to the following expression:
    Destinations!Value

    Ao fazê-lo, a caixa de listagem é preenchida automaticamente com os itens que introduziu anteriormente na coleção de Destinos:When you do this, the listbox is automatically populated with the items you previously entered in the Destinations collection:

Pré-visualize as alterações: .Preview your changes: . Na caixa de listagem, pode ver as diferentes cidades que introduziu.In the listbox, you can see the different cities you entered. No controlo da introdução de texto, introduza uma nova cidade e selecione o botão Adicionar.In the text-input control, enter a new city, and select the Add button. A caixa de listagem é atualizada automaticamente para incluir a nova cidade introduzida.The listbox is automatically updated to include the new city you entered.

Criar uma coleção com várias colunasCreate a multi-column collection

Os passos seguintes mostram como criar uma coleção na sua aplicação com a função Recolher, e como adicionar várias linhas à sua coleção.The following steps show you how to create a collection within your app using the Collect function, and how to add multiple rows to your collection.

  1. No separador Base, abra um novo ecrã.On the Home tab, open a new screen.
  2. No separador Inserir, selecione Texto e, em seguida, selecione Introdução de texto.On the Insert tab, select Text, and then select Text input.
  3. Mude o nome do controlo de texto para Cidade:Rename the text control to City:
  4. Insira outro controlo de introdução de texto e mude o nome para Estados.Insert another text-input control, and rename it to States.
  5. Mova os controlos de texto de Cidade e Estados para que os possa ver a ambos:Move the City and States text controls so you can see them both:

    Nota

    Pode substituir "Introdução de texto" por algo como "Cidade" ou "Estado", conforme mostra a imagem.You can replace 'Text Input' with something like 'City' or 'State', which was done in the image.

  6. No separador Inserir, selecione Botão.On the Insert tab, select Button. Defina a respetiva propriedade OnSelect como a função seguinte:Set its OnSelect property to the following function:
    Collect(Destinations, {Cities:City!Text, States:States!Text})

    Deve ter o seguinte aspeto:It should look like the following:

    Nota

    Pode utilizar esta mesma função para adicionar mais colunas a esta coleção.You can use this same function to add additional columns to this collection. Por exemplo, pode adicionar outro controlo de introdução de texto em País, para adicionar uma coluna de Países:For example, you can add another text-input control for Country to add a Countries column:

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

  7. Mude o nome do controlo de botão AddCityStateButton e defina a respetiva propriedade de Texto para Adicionar Cidade e Estado:Rename the button control AddCityStateButton, and set its Text property to Add City and State:

Nestes passos, adicionou uma coluna Cidades e uma coluna Estados à coleção Destinos.In these steps, you added a Cities column and a States column to the Destinations collection. O controlo de botão adiciona estes novos itens de texto à sua coleção.The button control adds these new text items to your collection. Agora, veja o que criou:Now, see what you created:

  1. Selecione Pré-visualização:Select Preview:
  2. Escreva algum texto nas caixas Cidade e Estado e, em seguida, selecione o botão Adicionar Cidade e Estado.Type some text into the City and State boxes, and then select the Add City and State button.
  3. Adicione mais algumas cidades e estados.Add a few more cities and states.
  4. Prima a tecla Esc para fechar a janela de Pré-visualização.Press the Esc key to close the Preview window.
  5. Para ver os itens adicionados à coleção de Destinos, selecione o separador Ficheiro e, em seguida, selecione Coleções:To see the items you added to the Destinations collection, select the File tab, and then select Collections:

Adicionar colunas a uma coleçãoAdd columns to a collection

Existem algumas secções nestas instruções.There are a few sections in this walk-through. Quando concluir o procedimento, saberá como importar dados para a sua coleção, criar uma galeria que mostra os dados numa lista de preços e utilizar um controlo de deslize que determina a quantidade de um produto.When complete, you'll know how to import data into your collection, create a gallery that shows data in a price list, and use a slider control that determines the quantity of a product.

Importar a lista de preços e criar a coleçãoImport the price list and create the collection

  1. Transfira o ficheiro zip PriceList.Download the PriceList zip file.
  2. No separador Base, adicione um novo ecrã.On the Home tab, add a new screen.
  3. No separador Inserir, selecione Controlos e, em seguida, selecione Importar:On the Insert tab, select Controls, and then select Import:
  4. No separador Ação, selecione OnSelect.On the Action tab, select OnSelect. Introduza a função seguinte:Enter the following function:

    Collect(PriceList, Import1!Data)

  5. Pré-visualize a sua aplicação.Preview your app. Selecione o botão Importar Dados, selecione o ficheiro PriceList.zip e selecione Abrir.Select the Import Data button, select the PriceList.zip file, and select Open.
  6. Feche a janela de Pré-visualização.Close the Preview window.
  7. Selecione o separador Ficheiro e selecione Coleções.Select the File tab, and select Collections. Os itens da PriceList que importou estão listados:The PriceList items you imported are listed:
  1. Volte para o estruturador.Go back to your designer.
  2. No separador Inserir, selecione Galeria, desloque para baixo até Galerias Personalizadas e, em seguida, selecione Vertical:On the Insert tab, select Gallery, scroll down to Custom Galleries, and then select Portrait:
  3. Mude o nome da galeria para PriceGallery e defina a propriedade Itens para PriceList:Rename the gallery to PriceGallery and set the Items property to PriceList:
  4. Mova a galeria PriceList abaixo do controlo Importar Dados.Move the PriceList gallery below the Import Data control. Selecione os limites da galeria e utilize a função de clicar e arrastar para redimensionar a galeria, para que sejam apresentados três quadrados.Select the gallery borders and use click-and-drag to resize the gallery so three squares are shown.
  5. Na galeria, selecione o primeiro quadrado e adicione três etiquetas (separador Inserir > Etiqueta).In the gallery, select the first square, and add three labels (Insert tab > Label).
  6. Redimensione e disponha as etiquetas numa linha perto do topo do primeiro quadrado.Resize and arrange the labels in a row near the top of the first square. A sua galeria será semelhante ao seguinte:Your gallery looks similar to the following:
  7. Defina a propriedade Texto de cada etiqueta para a seguinte expressão:Set the Text property of each label to the following expression:

    EtiquetaLabel Defina a Propriedade de texto comoSet Text property to
    Etiqueta1Label1 ThisItem!Name
    Etiqueta2Label2 Text(ThisItem!Price, "$#")
    Etiqueta3Label3 ThisItem!Maker

    Ao fazê-lo, as etiquetas são atualizadas automaticamente com o nome, o preço e os valores do fabricante dentro da coleção de PriceList.When you do this, the labels are automatically updated with the name, price, and maker values within the PriceList collection.

  8. Redimensione as etiquetas e a galeria para remover quaisquer espaços adicionais.Resize the labels and the gallery to remove any extra spaces. O ecrã terá um aspeto semelhante ao seguinte:Your screen look similar to the following:

Adicione o controlo de deslize de quantidade e atualize a coleçãoAdd the quantity slider and update the collection

  1. No menu Inserir, selecione Controlos e selecione Controlo de deslize.On the Insert menu, select Controls, and select Slider. Mude o nome do controlo de deslize para OrderQty e mova-o sob a galeria.Rename the slider to OrderQty, and move it under the gallery.
  2. Adicione um botão, defina a respetiva propriedade de Texto para Adicionar, e mova-o sob o controlo de deslize OrderQty.Add a button, set its Text property to Add, and move it under the OrderQty slider. A sua aplicação será semelhante ao seguinte:Your app looks similar to the following:
  3. Defina a propriedade OnSelect do botão Adicionar para a seguinte expressão:Set the OnSelect property of the Add button to the following expression:

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

    Nota

    Quando seleciona este botão mais tarde neste procedimento, irá criar e guardar uma coleção designada OrderList.When you select this button later in this procedure, you'll create and save a collection named OrderList. A coleção irá conter o nome de um produto que introduziu na galeria, uma quantidade que escolhe com o controlo de deslize e o custo total calculado ao multiplicar a quantidade pelo preço do produto.The collection will contain the name of a product that you enter in the gallery, a quantity that you choose with the slider, and the total cost calculated by multiplying the quantity by the price of the product.

  4. Selecione o separador Ecrã e defina a propriedade OnVisible para a seguinte expressão:Select the Screen tab and set the OnVisible property to the following expression:

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

Agora, veja o que criou:Now, see what you created:

  1. Abra a Pré-visualização.Open Preview.
  2. Selecione um produto na galeria, mova o controlo de deslize para a quantidade pretendida e, em seguida, selecione o botão Adicionar.Select a product in the gallery, move the slider to your desired quantity, and then select the Add button.

    Importante

    Quando seleciona um produto, o produto não é realçado para indicar que o selecionou.When you select a product, that product is not highlighted to indicate you selected it. Quando criámos a galeria, não adicionámos esta funcionalidade.When we created the gallery, we didn't add this functionality. Saiba que clicar no produto não o seleciona.Know that clicking the product does select it.

  3. Repita estes passos para adicionar mais alguns produtos.Repeat these steps to add a couple more products. Prima ESC para fechar a janela de Pré-visualização.Press ESC to close the Preview window.
  4. No separador Ficheiro, selecione Coleções para apresentar uma pré-visualização da coleção OrderList que criou:On the File tab, select Collections to display a preview of the OrderList collection you created:

Dica

Para remover todos os itens da lista de pedidos, adicione um botão, defina a sua propriedade Texto para Limpar, e defina a respetiva propriedade OnSelect para a seguinte expressão:To remove all items from the order list, add a button, set its Text property to Clear, and set its OnSelect property to the following expression:
Clear(OrderList);SaveData(OrderList, "orderfile")
Para remover um item de cada vez, mostre a coleção OrderList numa galeria e, em seguida, defina a propriedade OnSelect de uma etiqueta nessa galeria para a seguinte expressão:To remove one item at a time, show the OrderList collection in a gallery, and then set the OnSelect property of a label in that gallery to the following expression:
Remove(OrderList, ThisItem);SaveData(OrderList, "orderfile")

Sugestões e TruquesTips and Tricks

  • Em qualquer altura, pode selecionar o botão de Pré-visualização () para ver os gráficos e ver como são apresentados com os dados.At anytime, you can select the Preview button () to view your charts, and to see how they look with data.
  • Ao conceber a sua aplicação, pode redimensionar os controlos e movê-los com a função de clicar e arrastar.When designing your app, you can re-size the controls and move them around using click-and-drag.

O que aprendeuWhat you learned

Neste tópico, o utilizador:In this topic, you:

  • Utilizou a função de Recolha() para criar uma coleção na sua aplicação.Used the Collect() function to create a collection within your app.
  • Adicionou um controlo de botão e, quando selecionado, o botão adiciona novos itens à sua coleção.You added a button control and when selected, the button adds new items to your collection.
  • Utilizou uma caixa de listagem para adicionar itens à sua coleção.Used a listbox to add items to your collection.
  • Adicionou um controlo de deslize para atualizar itens dentro da coleção.Added a slider control to update items within the collection.