Esercizio - Uso delle raccolte e manipolazione delle tabelle

Completato

In questo esercizio si farà pratica con l'uso delle tabelle. Si creerà una raccolta, la si filtrerà e si eseguirà una ricerca in essa, quindi si modificherà e aggiungerà un record in tale raccolta e si rimuoverà un record.

Creazione della raccolta di dati

  1. Accedere a Power Apps.

  2. Dalla schermata iniziale, selezionare + Crea dal pannello di spostamento a sinistra. Quindi, selezionare App vuota.

    Infine, selezionare Crea in App canvas vuota.

  3. Assegnare un nome all'app, quindi selezionare Crea.

  4. Selezionare la scheda Inserisci, aggiungere un pulsante e impostare la relativa proprietà OnSelect sulla formula seguente:

    ClearCollect(CityPopulations, 
    {City:"London", Country:"United Kingdom", Population:8615000}, 
    {City:"Berlin", Country:"Germany", Population:3562000}, 
    {City:"Madrid", Country:"Spain", Population:3165000}, 
    {City:"Rome", Country:"Italy", Population:2874000}, 
    {City:"Paris", Country:"France", Population:2273000}, 
    {City:"Hamburg", Country:"Germany", Population:1760000}, 
    {City:"Barcelona", Country:"Spain", Population:1602000}, 
    {City:"Munich", Country:"Germany", Population:1494000}, 
    {City:"Milan", Country:"Italy", Population:1344000})
    
  5. Tenere premuto il tasto ALT e selezionare il controllo Pulsante. (Questa operazione permette di creare la raccolta e archiviare tutte le informazioni.) Aggiornare la proprietà Text del pulsante "Collect".

  6. Inserire un controllo Raccolta verticale e scegliere CityPopulations come Origine dati (in alternativa, è possibile aggiornare la proprietà Items della raccolta impostandola come CityPopulations).

  7. Con la raccolta selezionata, nel pannello Proprietà nella parte destra della schermata, modificare il layout da vuoto a Titolo, sottotitolo e corpo. Quindi, selezionare Campi e modificare l'opzione a discesa Corpo in Population. Fare riferimento all'immagine di seguito.

  8. Con la raccolta ancora selezionata, aggiornare la proprietà OnSelect come segue:

     Set(varRecord,ThisItem)
    

Filtro della raccolta

  1. Inserire un'Etichetta di testo e modificare la proprietà Text in "Population". Quindi, spostarla a destra della raccolta.

  2. Inserire un controllo Dispositivo di scorrimento sotto l'etichetta creata. È possibile trovare rapidamente il controllo inserendo "dispositivo di scorrimento" nel campo di ricerca.

  3. Selezionare il controllo Dispositivo di scorrimento e modificare la proprietà Min come indicato di seguito:

    Min(CityPopulations, Population)
    
  4. Quindi, modificare la proprietà Max come segue:

    Max(CityPopulations, Population)
    
  5. Ora selezionare la raccolta e modificare la proprietà Items come segue:

    Filter(CityPopulations, Population>= Slider1.Value)
    
  6. Ora verranno visualizzati solo i record maggiori del valore del dispositivo di scorrimento selezionato. Mettere l'app in modalità di anteprima e spostare il dispositivo di scorrimento per vederlo in azione. Con il dispositivo di scorrimento completamente a sinistra saranno visibili tutte le città. Spostando il dispositivo di scorrimento verso destra l'elenco si restringe in modo che nella raccolta rimanga solo Londra.

Uso delle funzioni LookUp e Patch

  1. Inserire un'Etichetta di testo, modificare la proprietà Text in "City" e posizionarla sotto il dispositivo di scorrimento.

  2. Inserire un controllo A discesa e spostarlo sotto l'etichetta City.

  3. Nella proprietà Items dell'elenco a discesa digitare quanto segue:

    CityPopulations.City
    
  4. Nella proprietà OnChange dell'elenco a discesa immettere quanto segue:

    Set(varRecord, LookUp(CityPopulations, City=Self.SelectedText.City))
    
  5. Inserire un'altra Etichetta di testo e aggiornare la proprietà Text impostandola su "Country".

  6. Inserire un controllo Input di testo e spostarlo sotto l'etichetta "Country".

  7. Per la proprietà Default di Input di testo inserire varRecord.Country.

  8. Modificare il nome del controllo Input di testo in txtCountry.

  9. Ripetere i quattro passaggi precedenti per aggiungere controlli etichetta di testo e input di testo per City e Population, aggiornando le proprietà Default degli input di testo rispettivamente su varRecord.City e varRecord.Population. Al termine dell'operazione, la schermata dovrebbe avere un aspetto simile al seguente.

  10. Aggiungere un pulsante alla schermata e posizionarla sotto l'input di testo Population. Modificare la proprietà Text inserendo la dicitura "Invia".

  11. Modificare la proprietà OnSelect del pulsante come segue:

    Patch(CityPopulations, varRecord, {Country: txtCountry.Text, City: txtCity.Text, Population: Value(txtPopulation.Text)})
    

    Nota

    Occorre eseguire il wrapping di txtPopulation.Text con Value() poiché per impostazione predefinita l'input di testo restituisce una stringa e la raccolta richiede un numero.

  12. Impostare l'app in modalità di anteprima e selezionare un elemento dalla raccolta. Modificare uno dei valori, premere il pulsante "Submit" e si vedrà che l'elemento è stato modificato nella raccolta.

  13. Reimpostare l'app in modalità di modifica.

Aggiunta e rimozione di record

  1. Selezionare il pulsante "Submit" e copiarlo. Incollarlo tre volte.

  2. Modificare la proprietà Text dei tre nuovi pulsanti inserendo Clear, New e Remove.

  3. Posizionare i pulsanti in due file di due pulsanti allineati sul pulsante Submit originale ("New" sotto "Submit", "Clear" a destra di "Submit" e "Remove" sotto "Clear").

  4. Premere CTRL e fare clic sui pulsanti Clear e Remove. Modificare la proprietà DisplayMode come segue:

    If(IsBlank(varRecord), DisplayMode.Disabled, DisplayMode.Edit)
    

    Ora è possibile fare clic su questi pulsanti solo se è selezionato un record.

  5. Premere CTRL e fare clic sul pulsante Remove per deselezionarlo. Aggiornare la proprietà OnSelect del pulsante Clear come indicato di seguito:

    Set(varRecord, Blank())
    

    È ora possibile cancellare il record selezionato usando questo pulsante. Visualizzare l'app in anteprima e selezionare il pulsante Clear.

    Come si può notare, i pulsanti Clear e Remove risultano disabilitati.

  6. Con l'app di nuovo in modalità di modifica, selezionare il pulsante Remove. Aggiornare la proprietà OnSelect come segue:

    Remove(CityPopulations, varRecord)
    
  7. Infine selezionare il pulsante New e modificare la proprietà OnSelect come segue:

    Collect(CityPopulations, {Country: txtCountry.Text, City: txtCity.Text, Population: Value(txtPopulation.Text)})
    
  8. Impostare l'app in modalità di anteprima e provare ad aggiungere un nuovo record e a rimuovere un record esistente.

Si è appreso come usare in modo più ampio le tabelle in Power Apps. L'esercizio è così terminato, ma si potrebbero aggiungere funzionalità aggiuntive alle varie proprietà dei pulsanti per migliorare ulteriormente l'esperienza utente.