In alcuni casi i moduli non sono sufficienti
Durante la creazione di app basate su canvas in Power Apps, si usano le raccolte per visualizzare i record dall'origine dati e i moduli per visualizzare, creare e modificare un singolo record, ma talvolta i moduli non sono sufficienti. In questi scenari, Power Apps offre funzioni che consentono di aggiornare direttamente le origini dati tabulari.
Creazione e modifica dirette di un record
Questo modulo descrive come usare la funzione Patch per aggiornare direttamente le origini dati senza l'uso di moduli.
La funzione Patch si usa spesso quando è necessario intervenire sui dati senza l'interazione dell'utente, in modo ripetitivo o quando la progettazione dell'app non consente l'uso di moduli. Se ad esempio si vuole aggiornare un'origine dati di registrazione ogni volta che un utente fa clic su un pulsante per passare a un'altra schermata, è possibile usare la formula per la proprietà OnSelect del pulsante.
Patch(LoggingTable, Defaults(LoggingTable), {WhoClicked:
User().FullName, WhenClicked: Now()}); Navigate(NextScreen,
ScreenTransition.Cover)
Questa formula crea un nuovo record nell'origine dati denominata LoggingTable. La colonna WhoClicked viene impostata sulla proprietà FullName dell'utente che ha eseguito l'accesso e la colonna WhenClicked sulla data e l'ora in cui è stato fatto clic sul pulsante. Verrà aperta la schermata denominata NextScreen usando la transizione della schermata Cover.
Eliminazione di un record
Sono disponibili anche funzioni per l'eliminazione di uno o più record dall'origine dati. Queste funzioni sono:
Remove e RemoveIf: queste funzioni vengono usate per rimuovere o eliminare record dall'origine dati.
Clear: usare la funzione Clear per rimuovere tutti i record da una raccolta.
Ad esempio, se si vuole offrire all'utente la possibilità di eliminare un record da un controllo Raccolta, aggiungere un'icona del Cestino alla raccolta visualizzando l'origine dati CustomerOrders e quindi impostare la proprietà OnSelect dell'icona come segue.
Remove(CustomerOrders, ThisItem)
Questa formula elimina il record per l'elemento in cui era visualizzata l'icona del Cestino dall'origine dati CustomerOrders. Poiché non viene visualizzata alcuna conferma dell'operazione, è consigliabile implementare una finestra di dialogo di controllo o popup per verificare che l'utente intenda effettivamente eliminare il record.
Modifiche in blocco nei record
Sia Patch che Remove sono funzioni usate per eseguire operazioni su un solo record. Se è necessario apportare modifiche a più record, sono disponibili due opzioni:
Usare la funzione ForAll, che è stata analizzata nel modulo precedente, per scorrere una tabella di dati ed eseguire una funzione Patch o Remove per ogni record nella tabella.
Usare la funzione Collect per eseguire la scrittura da una tabella all'altra. Ogni record della tabella di origine viene aggiunto come record separato nella tabella di destinazione.
Questi argomenti sono trattati in altri percorsi di apprendimento di Power Apps e non vengono affrontati in questa sede.
Le raccolte sono origini dati
È importante ricordare che queste funzioni possono usare una raccolta come destinazione. Le funzioni Patch, Remove e RemoveIf possono essere usate per modificare origini dati tabulari e raccolte. Durante la creazione di app più complesse, in cui l'archiviazione dei dati nelle raccolte e l'uso di questi elementi sono molto comuni, queste funzioni hanno un ruolo importante nelle operazioni di modifica.
La parte restante di questo modulo verterà sull'aggiornamento di un'origine dati. Tenere presente che un'origine dati può essere un'origine dati tabulare o una raccolta, se non specificato diversamente.
L'unità successiva spiega come creare e modificare i record.