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.

    Screenshot della nuova Raccolta con evidenziazioni delle opzioni Origine dati e Campi nel pannello Proprietà e Population come scelta selezionata in Body1.

  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.

    Animazione del filtro tramite dispositivo di scorrimento.

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.

    Screenshot degli input di testo e delle nuove etichette.

  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.

    Screenshot del record appena creato con il nuovo record e il pulsante New evidenziati.

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.