Creare e aggiornare una raccolta nell'appCreate and update a collection in your app

È possibile usare una raccolta per archiviare dati che possono essere usati nell'applicazione.Use a collection to store data that can be used in your app. Una raccolta è un gruppo di elementi con caratteristiche simili.A collection is a group of items that are similar. Ad esempio, si può creare una raccolta Immagini per archiviare tutte le immagini dei prodotti venduti dalla propria azienda.For example, you create a MyImages collection that stores all the product images your company sells. In PowerApps è possibile aggiungere la raccolta Immagini e creare un'app che visualizza tutte le immagini dei prodotti.Within PowerApps, you can add your MyImages collection and create an app that displays all the pictures of these products. Oppure, si può creare la raccolta ListinoPrezzi con i prodotti e il prezzo di ogni prodotto.In another example, you can create a PriceList collection that lists the products and the price of each product.

Le raccolte possono essere create e usate in PowerApps.You can create and use collections within PowerApps. Possiamo iniziare.Let's get started.

PrerequisitiPrerequisites

  • Iscriversi a PowerApps, installarlo, aprirlo e quindi accedervi fornendo le stesse credenziali utilizzate per l’iscrizione.Sign up for PowerApps, install it, open it, and then sign in by providing the same credentials that you used to sign up.
  • Creare un'app o aprire un'app esistente in PowerApps.Create an app or open an existing app in PowerApps.
  • Informazioni su come configurare un controllo in PowerApps.Learn how to configure a control in PowerApps.
  • In questi passaggi viene usato il file PriceList.zip come dati di input di esempio.These steps use the PriceList.zip file as sample input data. Il file ZIP include un file XML che può essere convertito in Excel.The zip file includes an XML file that can be converted to Excel. In caso contrario, PowerApps legge automaticamente i file contenuti nei file con estensione zip e ne esegue l'importazione.Otherwise, PowerApps automatically reads the files in the .zip files and imports it successfully. È possibile scaricare e usare questi dati di esempio o importare i propri dati.You can download and use this sample data, or import your own.

Creare una raccolta a colonna singolaCreate a single-column collection

La procedura seguente spiega come creare una raccolta in un'applicazione usando la funzione Collect e come aggiungere elementi alla raccolta.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. Aprire l'app.Open your app.
  2. Nella scheda Inserisci selezionare Testo e quindi Input di testo:On the Insert tab, select Text, and then select Text input:
  3. In alto a sinistra selezionare Text1 e rinominare il controllo Destination:In the top left corner, select Text1, and rename the control to Destination:
  4. Nella scheda Inserisci selezionare Pulsante per aggiungere un controllo pulsante alla finestra di progettazione.On the Insert tab, select Button to add a button control to your designer. La proprietà OnSelect è indicata nell'elenco a discesa.From the drop-down list, the OnSelect property is listed. Impostarla sulla funzione seguente:Set it to the following function:

    Collect(Destinations, Destination!Text)

    Deve apparire come segue:It should look like the following:

  5. Selezionare il testo del pulsante e immettere Add:Select the button text, and enter Add:
  6. Selezionare il pulsante Add e spostarlo sotto il controllo di testo.Select the Add button, and move it under your text control. È possibile spostarlo in qualsiasi punto:You can move it anywhere:

In questa procedura viene usata la funzione Collect per creare una raccolta denominata Destinations.In these steps, you used the Collect function to create a collection named Destinations. Viene anche aggiunto un controllo pulsante che, se selezionato, consente di aggiungere nuovi elementi alla raccolta.You also added a button control and when selected, adds new items to your collection. Ora vediamo che cosa abbiamo creato:Now, see what you created:

  1. Selezionare l'anteprima:Select Preview:
  2. Digitare un nome di città nella casella e quindi selezionare il pulsante Add.Type a city name into the box, and then select the Add button.
  3. Immettere alcuni altri nomi di città e selezionare ogni volta il pulsante Add.Enter some additional city names and select the Add button each time.
  4. Premere il tasto ESC per chiudere la finestra di anteprima.Press the Esc key to close the Preview window.
  5. Esaminare la raccolta Destinations e i valori di testo immessi.See the Destinations collection and the text values you entered. Nella scheda File selezionare Raccolte.On the File tab, select Collections. Il testo immesso è indicato:The text you entered is listed:

SupplementareExtra credit

Ora è possibile associare la raccolta Destinations a una casella di riepilogo:Now, let's bind the Destinations collection to a listbox:

  1. Tornare alla finestra di progettazione.Go back to your designer.
  2. Nella scheda Inserisci selezionare Controlli e quindi Casella di riepilogo:On the Insert tab, select Controls, and then select ListBox:
  3. Spostare la casella di riepilogo in modo da visualizzarla con facilità.Move the listbox so you can easily see it. Impostare la relativa proprietà Items sull'espressione seguente:Set its Items property to the following expression:
    Destinations!Value

    In questo caso, la casella di riepilogo viene automaticamente compilata con le voci immesse in precedenza nella raccolta Destinations:When you do this, the listbox is automatically populated with the items you previously entered in the Destinations collection:

Visualizzare in anteprima le modifiche: .Preview your changes: . Nella casella di riepilogo è possibile visualizzare le città immesse.In the listbox, you can see the different cities you entered. Nel controllo input di testo, immettere una nuova città e selezionare il pulsante Aggiungi.In the text-input control, enter a new city, and select the Add button. La casella di riepilogo viene automaticamente aggiornata in modo da includere la nuova città.The listbox is automatically updated to include the new city you entered.

Creare una raccolta a più colonneCreate a multi-column collection

La procedura seguente spiega come creare una raccolta in un'applicazione usando la funzione Collect e come aggiungere più righe alla raccolta.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. Aprire una nuova schermata nella scheda Home.On the Home tab, open a new screen.
  2. Nella scheda Inserisci selezionare Testo e quindi Input di testo.On the Insert tab, select Text, and then select Text input.
  3. Rinominare il controllo di testo City:Rename the text control to City:
  4. Inserire un altro controllo di input di testo e rinominarlo States.Insert another text-input control, and rename it to States.
  5. Spostare i controlli di testo City e States in modo da visualizzarli entrambi:Move the City and States text controls so you can see them both:

    Nota

    È possibile sostituire "Input di testo" con un testo simile a City o State, come nell'immagine mostrata.You can replace 'Text Input' with something like 'City' or 'State', which was done in the image.

  6. Selezionare Pulsante nella scheda Inserisci.On the Insert tab, select Button. Impostare la proprietà OnSelect sulla funzione seguente:Set its OnSelect property to the following function:
    Collect(Destinations, {Cities:City!Text, States:States!Text})

    Deve apparire come segue:It should look like the following:

    Nota

    È possibile usare questa stessa funzione per aggiungere altre colonne alla raccolta.You can use this same function to add additional columns to this collection. Ad esempio, è possibile aggiungere un altro input di testo per Country e aggiungere una colonna Countries: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. Rinominare il controllo pulsante AddCityStateButtone impostare la relativa proprietà Text su Add City and State:Rename the button control AddCityStateButton, and set its Text property to Add City and State:

In questa procedura, sono state aggiunte una colonna Cities e una colonna States alla raccolta Destinations.In these steps, you added a Cities column and a States column to the Destinations collection. Il controllo pulsante aggiunge i nuovi elementi di testo alla raccolta.The button control adds these new text items to your collection. Ora vediamo che cosa abbiamo creato:Now, see what you created:

  1. Selezionare l'anteprima:Select Preview:
  2. Digitare un testo nelle caselle City e State e quindi selezionare il pulsante Add City and State.Type some text into the City and State boxes, and then select the Add City and State button.
  3. Aggiungere alcuni altri stati e città.Add a few more cities and states.
  4. Premere il tasto ESC per chiudere la finestra di anteprima.Press the Esc key to close the Preview window.
  5. Per visualizzare gli elementi aggiunti alla raccolta Destinations, selezionare la scheda File e quindi selezionare Raccolte:To see the items you added to the Destinations collection, select the File tab, and then select Collections:

Aggiungere colonne a una raccoltaAdd columns to a collection

Questa procedura dettagliata contiene solo alcune sezioni.There are a few sections in this walk-through. Al termine, si sarà in grado di importare dati nella raccolta, creare una raccolta che visualizza i dati di un listino prezzi e usare un controllo dispositivo di scorrimento che determina la quantità di un prodotto.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.

Importare il listino prezzi e creare la raccoltaImport the price list and create the collection

  1. Scaricare il file ZIP PriceList.Download the PriceList zip file.
  2. Aggiungere una nuova schermata nella scheda Home.On the Home tab, add a new screen.
  3. Nella scheda Inserisci selezionare Controlli e quindi Importa:On the Insert tab, select Controls, and then select Import:
  4. Selezionare OnSelect nella scheda Azione.On the Action tab, select OnSelect. Immettere la funzione seguente:Enter the following function:

    Collect(PriceList, Import1!Data)

  5. Visualizzare in anteprima l'app.Preview your app. Selezionare il pulsante Import Data, quindi il file PriceList.zip e infine Apri.Select the Import Data button, select the PriceList.zip file, and select Open.
  6. Chiudere la finestra di anteprima.Close the Preview window.
  7. Selezionare la scheda File e quindi Raccolte.Select the File tab, and select Collections. Vengono visualizzati gli elementi del listino prezzi importato:The PriceList items you imported are listed:
  1. Tornare alla finestra di progettazione.Go back to your designer.
  2. Nella scheda Inserisci selezionare Raccolta, scorrere verso il basso fino a Raccolta personalizzata, quindi selezionare Verticale:On the Insert tab, select Gallery, scroll down to Custom Galleries, and then select Portrait:
  3. Rinominare la raccolta PriceGallery e impostare la proprietà Items su PriceList:Rename the gallery to PriceGallery and set the Items property to PriceList:
  4. Spostare la raccolta PriceList sotto il controllo Importa dati.Move the PriceList gallery below the Import Data control. Selezionare i bordi della raccolta, fare clic e trascinare per ridimensionare la raccolta in modo che siano visualizzati tre quadrati.Select the gallery borders and use click-and-drag to resize the gallery so three squares are shown.
  5. Nella raccolta selezionare il primo quadrato e aggiungere tre etichette (scheda Inserisci > Etichetta).In the gallery, select the first square, and add three labels (Insert tab > Label).
  6. Ridimensionare e disporre le etichette su una riga nella parte superiore del primo quadrato.Resize and arrange the labels in a row near the top of the first square. La raccolta sarà simile alla seguente:Your gallery looks similar to the following:
  7. Impostare la proprietà Text di ogni etichetta sull'espressione seguente:Set the Text property of each label to the following expression:

    EtichetteLabel Impostare la proprietà Text suSet Text property to
    Label1Label1 ThisItem!Name
    Label2Label2 Text(ThisItem!Price, "$#")
    Label3Label3 ThisItem!Maker

    Quando si esegue questa operazione, le etichette vengono aggiornate automaticamente con i valori di nome, prezzo e produttore all'interno della raccolta PriceList.When you do this, the labels are automatically updated with the name, price, and maker values within the PriceList collection.

  8. Ridimensionare le etichette e la raccolta per rimuovere eventuali spazi aggiuntivi.Resize the labels and the gallery to remove any extra spaces. La schermata ha un aspetto simile al seguente:Your screen look similar to the following:

Aggiungere il dispositivo di scorrimento della quantità e aggiornare la raccoltaAdd the quantity slider and update the collection

  1. Nel menu Inserisci selezionare Controllie quindi Dispositivo di scorrimento.On the Insert menu, select Controls, and select Slider. Rinominare il dispositivo di scorrimento OrderQty e spostarlo sotto la raccolta.Rename the slider to OrderQty, and move it under the gallery.
  2. Aggiungere un pulsante, impostare la relativa proprietà Text su Add e spostarlo sotto il dispositivo di scorrimento OrderQty.Add a button, set its Text property to Add, and move it under the OrderQty slider. L'app sarà simile alla seguente:Your app looks similar to the following:
  3. Impostare la proprietà OnSelect del pulsante Add su questa espressione: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 si seleziona questo pulsante più avanti nella procedura, sarà necessario creare e salvare una raccolta denominata OrderList.When you select this button later in this procedure, you'll create and save a collection named OrderList. Tale raccolta conterrà il nome di un prodotto immesso nella raccolta, una quantità che si sceglie con il dispositivo di scorrimento e il costo totale calcolato moltiplicando la quantità per il prezzo del prodotto.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. Selezionare la scheda Schermo e impostare la proprietà OnVisible sull'espressione seguente: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"))

Ora vediamo che cosa abbiamo creato:Now, see what you created:

  1. Aprire Anteprima.Open Preview.
  2. Selezionare un prodotto nella raccolta, spostare il dispositivo di scorrimento sulla quantità e quindi selezionare il pulsante Add.Select a product in the gallery, move the slider to your desired quantity, and then select the Add button.

    Importante

    Quando si seleziona un prodotto, tale prodotto non viene evidenziato per indicare che è stato selezionato.When you select a product, that product is not highlighted to indicate you selected it. Quando è stata creata la raccolta, non è stata aggiunta questa funzionalità.When we created the gallery, we didn't add this functionality. Occorre sapere che facendo clic sul prodotto viene selezionato.Know that clicking the product does select it.

  3. Ripetere questi passaggi per aggiungere altri prodotti.Repeat these steps to add a couple more products. Premere ESC per chiudere la finestra di anteprima.Press ESC to close the Preview window.
  4. Nella scheda File selezionare Raccolte per visualizzare un'anteprima della raccolta OrderList creata:On the File tab, select Collections to display a preview of the OrderList collection you created:

Suggerimento

Per rimuovere tutti gli elementi dall'elenco degli ordini, aggiungere un pulsante, impostarne la proprietà Text su Clear e la proprietà OnSelect su questa espressione: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")
Per rimuovere un elemento alla volta, visualizzare OrderList in una raccolta e quindi impostare la proprietà OnSelect di un'etichetta in tale raccolta sull'espressione seguente: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")

suggerimenti e consigliTips and Tricks

  • In qualsiasi momento è possibile selezionare il pulsante Anteprima () per visualizzare i grafici e vedere che aspetto hanno con i dati.At anytime, you can select the Preview button () to view your charts, and to see how they look with data.
  • Quando si progetta l'applicazione, è possibile ridimensionare i controlli e spostarli facendo clic e trascinando.When designing your app, you can re-size the controls and move them around using click-and-drag.

Che cosa si è appresoWhat you learned

In questo argomento:In this topic, you:

  • È stata usata la funzione Collect() per creare una raccolta all'interno dell'app.Used the Collect() function to create a collection within your app.
  • È stato aggiunto un controllo pulsante che, se selezionato, consente di aggiungere nuovi elementi alla raccolta.You added a button control and when selected, the button adds new items to your collection.
  • È stata aggiunta una casella di riepilogo per aggiungere elementi alla raccolta.Used a listbox to add items to your collection.
  • È stato aggiunto un controllo dispositivo di scorrimento per aggiornare gli elementi all'interno della raccolta.Added a slider control to update items within the collection.