Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per consentire all'utente di cercare un record, visualizzarne i dettagli e modificare o creare un record puoi aggiungere a un'app canvas tre tipi di controlli:
| Activity | Controllo | Descrizione |
|---|---|---|
| Sfogliare un record | Controllo Galleria | Filtrare, ordinare, cercare e scorrere i record in un'origine dati e selezionarne uno specifico. Visualizzare solo alcuni campi di ogni record per mostrare diversi record contemporaneamente anche su uno schermo di piccole dimensioni. |
| Visualizzare i dettagli di un record | Controllo Modulo visualizzazione | Visualizzare molti o tutti i campi di un singolo record. |
| Modificare o creare un record | Controllo modulo di modifica | Aggiornare uno o più campi di un singolo record o creare un record a partire dai valori predefiniti e salvare tali modifiche nell'origine dati sottostante. |
Inserisci ogni controllo in una diversa schermata per renderlo più facilmente distinguibile:
Come descritto in questo articolo, combinare questi controlli con le formule per creare l'esperienza utente complessiva.
Prerequisiti
- Iscriviti a Power Apps e quindi accedi fornendo le stesse credenziali usate per l'iscrizione.
- Informazioni su come configurare un controllo in Power Apps.
Esplorare un'app generata
Power Apps può generare automaticamente un'app in base a un'origine dati specificata. Ogni app contiene tre schermate con i controlli descritti in precedenza e formule di collegamento. Esegui queste app predefinite, personalizzale per scopi specifici oppure esaminane il funzionamento per apprendere concetti utili applicabili alle tue app. Nelle sezioni seguenti verranno esaminate le schermate, i controlli e le formule alla base di un'app generata.
Schermata di esplorazione
Questa schermata include tre formule chiave:
| Controllo | Comportamento supportato | Formula |
|---|---|---|
| BrowseGallery1 | Visualizza record dell'origine dati Assets. | La proprietà Items della raccolta è impostata su una formula basata sull'origine dati Assets. |
| ImageNewItem1 | Visualizza la schermata di modifica e creazione con ogni campo impostato su un valore predefinito in modo che l'utente possa creare facilmente un record. | La proprietà OnSelect dell'immagine è impostata su questa formula: NewForm( EditForm1 ); Naviga( EditScreen1, Nessuno ) |
| NextArrow1 (nella galleria) | Visualizza la schermata dei dettagli per mostrare molti o tutti i campi del record attualmente selezionato. | La proprietà OnSelect della freccia è impostata su questa formula: Navigate( DetailScreen1, None ) // Navigare verso DetailScreen1, Nessuno |
Il controllo primario di questa schermata, BrowseGallery1 occupa la maggior parte dell'area disponibile. L'utente può scorrere la raccolta per trovare un record specifico per la visualizzazione di altri campi o l'aggiornamento.
Imposta la proprietà Items di una galleria per visualizzare i record di una sorgente di dati. Ad esempio, imposta la proprietà su Assets per visualizzare i record di un'origine dati con quel nome.
Note
In un'app generata, per impostazione predefinita la proprietà Items è impostata su una formula molto più complessa in modo che l'utente possa ordinare e cercare i record. La creazione di tale formula verrà illustrata più avanti in questo argomento. Per il momento è sufficiente la versione più semplice.
Invece di trovare un record da visualizzare o modificare, l'utente può creare un record selezionando il simbolo "+" sopra la raccolta. Per creare questo effetto, aggiungi un controllo immagine contenente un simbolo "+" e impostane la proprietà OnSelect su questa formula:
NewForm( EditForm1 ); Navigate( EditScreen1, None )
Questa formula apre la schermata di modifica e creazione, che contiene un controllo Modulo modifica denominato EditForm1. La formula determina anche il passaggio del modulo alla modalità Nuovo, in cui vengono visualizzati i valori predefiniti dell'origine dati in modo che l'utente possa creare facilmente un record da zero.
Per esaminare qualsiasi controllo visualizzato in BrowseGallery1, seleziona il controllo nella prima sezione della raccolta, che funge da modello per tutte le altre sezioni. Ad esempio, seleziona il controllo Etichetta centrale lungo il bordo sinistro:
In questo esempio, la proprietà Text del controllo è impostata su ThisItem.AssignedTo, che è un campo dell'origine dati Assets. La proprietà Text degli altri tre controlli Etichetta nella raccolta è impostata su formule simili e ogni controllo visualizza un diverso campo dell'origine dati.
Seleziona il controllo forma (la freccia) e verifica che la relativa proprietà OnSelect sia impostata su questa formula:
Navigate( DetailScreen1, None )
Se l'utente trova un record in BrowseGallery1, può selezionare la freccia di tale record per visualizzarne altre informazioni in DetailScreen1. Selezionando una freccia, l'utente modifica il valore della proprietà Selected di BrowseGallery1. In questa app, tale proprietà determina il record visualizzato non solo in DetailScreen1, ma anche nella schermata di modifica e creazione se l'utente decide di aggiornare il record.
Schermata dei dettagli
Questa schermata include tre formule chiave:
| Controllo | Comportamento supportato | Formula |
|---|---|---|
| DetailForm1 | Visualizza un record dell'origine dati Assets. | Imposta la proprietà DataSource su Assets. |
| DetailForm1 | Determina il record da visualizzare. In un'app generata, visualizza il record selezionato dall'utente nella galleria. | Imposta la proprietà Item di questo controllo sul valore seguente: BrowseGallery1.Selected |
| Controlli Scheda | In un controllo Modulo di visualizzazione visualizza un singolo campo di un record. | Imposta la proprietà DataField sul nome di un campo racchiuso tra virgolette (ad esempio, "Name"). |
| ImageBackArrow1 | Selezionando questo controllo, l'utente apre BrowseScreen1. | Imposta la proprietà OnSelect su questa formula: Back() |
| ImageDelete1 | Selezionando questo controllo, l'utente elimina un record. | Imposta la proprietà OnSelect su questa formula: Rimuovi( Assets, BrowseGallery1.Selected ) |
| ImageEdit1 | Selezionando questo controllo, l'utente apre la schermata di modifica e creazione per il record corrente. | Imposta la proprietà OnSelect su questa formula: Navigate( EditScreen1, None ) |
Nella parte superiore della schermata, tre immagini all'esterno di DetailForm1 fungono da pulsanti per l'orchestrazione tra le tre schermate dell'app.
La schermata è dominata da DetailForm1, che visualizza il record selezionato dall'utente nella raccolta perché la proprietà Item del modulo è impostata su BrowseGallery1.Selected. La proprietà DataSource del modulo fornisce anche i metadati relativi all'origine dati, ad esempio un nome visualizzato descrittivo per ogni campo.
DetailForm1 contiene diversi controlli Card. Per individuare informazioni aggiuntive puoi selezionare il controllo Scheda oppure il controllo in esso contenuto.
La proprietà DataField di un controllo Scheda determina il campo visualizzato nella scheda. In questo caso, tale proprietà è impostata su AssetID. La scheda contiene un controllo Etichetta la cui proprietà Text è impostata su Parent.Default. Questo controllo visualizza il valore Default per la scheda, impostato tramite la proprietà DataField.
In un'app generata, i controlli Scheda sono bloccati per impostazione predefinita. Quando una scheda è bloccata, non è possibile modificare alcune proprietà, ad esempio DataField, e per tali proprietà non è disponibile la barra della formula. Questa restrizione garantisce che le personalizzazioni dell'utente non compromettano le funzionalità di base dell'app generata. Tuttavia puoi modificare alcune proprietà di una scheda e dei relativi controlli nel riquadro destro:
Nel riquadro destro puoi selezionare i campi da mostrare e la tipologia di controllo in cui ogni campo verrà visualizzato.
Schermata di creazione/modifica
Questa schermata include tre formule chiave:
| Controllo | Comportamento supportato | Formula |
|---|---|---|
| EditForm1 | Visualizza un record dell'origine dati Assets. | Imposta la proprietà DataSource su Assets. |
| EditForm1 | Determina il record da visualizzare. In un'app generata, visualizza il record selezionato dall'utente in BrowseScreen1. | Imposta la proprietà Item su questo valore: BrowseGallery1.Selected |
| Controlli della Scheda | In un controllo Modulo modifica, forniscono controlli che consentono all'utente di modificare uno o più campi di un record. | Imposta la proprietà DataField sul nome di un campo racchiuso tra virgolette (ad esempio, "Name"). |
| ImageCancel1 | Selezionando questo controllo, l'utente rimuove tutte le modifiche in corso e apre la schermata dei dettagli. | Imposta la proprietà OnSelect su questa formula: ResetForm( EditForm1 ); Back() |
| ImageAccept1 | Selezionando questo controllo, l'utente invia le modifiche all'origine dati. | Imposta la proprietà OnSelect su questa formula: SubmitForm( EditForm1 ) |
| EditForm1 | Se le modifiche vengono accettate, torna alla schermata precedente. | Imposta la proprietà OnSuccess su questa formula: Back() |
| EditForm1 | Se le modifiche non vengono accettate, mantiene la schermata corrente in modo che l'utente possa risolvere i problemi e provare di nuovo l'invio. | Lascia vuota la proprietà OnFailure. |
| LblFormError1 | Se le modifiche non vengono accettate, visualizza un messaggio di errore. | Imposta la proprietà Text su questo valore: EditForm1.Error |
Così come la schermata dei dettagli, la schermata di modifica e creazione è dominata da un controllo form denominato EditForm1. La proprietà Item di EditForm1, inoltre, è impostata su BrowseGallery1.Selected affinché il modulo visualizzi il record selezionato dall'utente in BrowseScreen1. Mentre la schermata dei dettagli visualizza ogni campo in sola lettura, in EditForm1 l'utente può aggiornare il valore di uno o più campi usando i controlli. Viene anche usata la proprietà DataSource per accedere ai metadati relativi all'origine dati, come il nome visualizzato descrittivo di ogni campo e la posizione in cui verranno salvate le modifiche.
Se l'utente seleziona l'icona "X" per annullare un aggiornamento, la funzione ResetForm rimuove tutte le modifiche non salvate e la funzione Back apre la schermata dei dettagli. Sia la schermata dei dettagli che quella di modifica e creazione visualizzano lo stesso record finché l'utente non ne seleziona un altro in BrowseScreen1. I campi del record rimangono impostati sugli ultimi valori salvati, non sulle modifiche eventualmente effettuate e successivamente abbandonate dall'utente.
Se l'utente modifica uno o più valori nel modulo e quindi seleziona l'icona "segno di spunta", la funzione SubmitForm invia le modifiche dell'utente all'origine dati.
- Se le modifiche vengono salvate, viene eseguita la formula OnSuccess del modulo e la funzione Back() apre la schermata dei dettagli in modo da visualizzare il record aggiornato.
- Se il salvataggio delle modifiche ha esito negativo, viene eseguita la formula OnFailure del modulo, che tuttavia non esegue alcuna azione perché è vuota. La schermata di modifica e creazione resta aperta in modo che l'utente possa annullare le modifiche o correggere l'errore. LblFormError1 visualizza il messaggio di errore descrittivo su cui è impostata la proprietà Error del modulo.
Così come un controllo Modulo visualizzazione, un controllo Modulo modifica contiene controlli Scheda contenenti altri controlli che visualizzano diversi campi di un record:
Nell'immagine precedente, la scheda selezionata visualizza il campo AssetID e contiene un controllo input di testo in modo che l'utente possa modificare il valore del campo. La schermata dei dettagli, invece, visualizza lo stesso campo in un controllo Etichetta di sola lettura. Il controllo Input di testo ha una proprietà Default impostata su Parent.Default. Se l'utente creasse un record invece di modificarne uno, il controllo visualizzerebbe un valore iniziale modificabile dall'utente per il nuovo record.
Nel riquadro destro, puoi mostrare o nascondere ogni scheda, riorganizzarle oppure configurarle per visualizzare i campi in diversi tipi di controlli.
Creare un'app da zero
Comprendendo come Power Apps genera un'app, puoi crearne una che usi gli stessi blocchi predefiniti e le stesse formule illustrati in precedenza in questo argomento.
Identificare i dati di test
Per ottenere il massimo da questo articolo, iniziare con un'origine dati con cui è possibile sperimentare. Deve contenere dati di test che possano essere letti e aggiornati senza problemi.
Note
Se usi un elenco creato con Microsoft Lists, una raccolta di SharePoint o una tabella di Excel che contiene nomi di colonna con spazi come origine dati, Power Apps sostituirà gli spazi con "_x0020_". Ad esempio, "Nome colonna" in SharePoint o Excel verrà visualizzato come "Column_x0020_Name" in Power Apps quando viene visualizzato nel layout di dati o usato in una formula.
Per seguire esattamente il resto di questo articolo, creare un elenco denominato "Ice Cream" che contiene questi dati:
Crea da zero un'app per telefoni e connetti l'app all'origine dati.
Note
Le app per tablet sono molto simili, ma potresti preferire un layout della schermata diverso per sfruttare al meglio lo spazio aggiuntivo sullo schermo.
Gli esempi nel resto dell'argomento sono basati su un origine dati denominata Ice Cream.
Consultare i record
Ottieni rapidamente un'informazione da un record, trovandolo in una galleria su una schermata di ricerca.
Aggiungi una raccolta verticale e modifica il layout solo per il Titolo.
Imposta la proprietà Items della galleria su Ice Cream.
Imposta la proprietà Text della prima etichetta nella raccolta su ThisItem.Title se è impostata su qualcos'altro.
L'etichetta ora visualizza il valore nel campo Titolo per ogni record.
Ridimensiona la galleria per riempire lo schermo e imposta la proprietà TemplateSize su 60.
La schermata sarà simile a questo esempio, che visualizza tutti i record dell'origine dati:
Visualizza i dettagli
Se la raccolta non visualizza le informazioni desiderate, seleziona la freccia di un record per aprire la schermata dei dettagli, Su quel schermo, un controllo Modulo visualizzazione mostra più campi del record selezionato, possibilmente tutti.
Per visualizzare il record, il controllo Modulo visualizzazione usa due proprietà.
- Proprietà DataSource: nome dell'origine dati contenente il record. Questa proprietà popola il pannello destro con i campi e determina il nome visualizzato e il tipo di dati (stringa, numero, data e così via) di ognuno.
- Proprietà Item: Il record da visualizzare. Questa proprietà è spesso connessa alla proprietà Selected del controllo raccolta, in modo che l'utente possa selezionare un record nel controllo raccolta e quindi esaminarlo.
Dopo aver impostato la proprietà DataSource, puoi aggiungere e rimuovere campi tramite il riquadro destro e modificare il modo in cui vengono visualizzati.
In questa schermata, gli utenti non possono modificare intenzionalmente o accidentalmente i valori del record. Il controllo Modulo visualizzazione è di sola lettura, di conseguenza il record non verrà modificato.
Per aggiungere un controllo Modulo visualizzazione:
- Aggiungi una schermata e quindi aggiungivi un controllo Modulo visualizzazione.
- Imposta la proprietà DataSource del controllo form su 'Ice Cream'.
Nel riquadro destro puoi selezionare i campi da mostrare nella schermata e il tipo di scheda da visualizzare per ogni campo. Mentre apporti le modifiche nel riquadro destro, la proprietà DataField di ogni controllo Scheda viene impostata sul campo con cui interagirà l'utente. La schermata sarà simile a questo esempio:
Infine devi connettere il controllo Modulo visualizzazione al controllo Raccolta per poter esaminare i dettagli di un record specifico. Non appena viene completata l'impostazione della proprietà Item, nel modulo verrà visualizzato il primo record della raccolta.
Imposta la proprietà Item del controllo Modulo visualizzazione su Gallery1.Selected.
Nel modulo verranno visualizzati i dettagli dell'elemento selezionato.
Ottimo. Ora ci concentriamo sulla navigazione: come un utente apre la schermata dei dettagli dalla schermata della galleria e apre la schermata della galleria dalla schermata dei dettagli.
Aggiungi un controllo Button alla schermata, imposta la proprietà Text per visualizzare Indietro e la proprietà OnSelect su Back().
Questa formula riporta l'utente alla raccolta dopo aver visualizzato i dettagli.
Ora, torniamo al controllo Gallery e aggiungiamo alcune funzionalità di navigazione alla schermata dei dettagli.
Passa alla prima schermata, contenente il controllo Raccolta, e seleziona la freccia nel primo elemento della raccolta.
Imposta la proprietà OnSelect della forma su questa formula:
Navigate( Screen2, None )
Selezionare il pulsante di riproduzione (o premere F5) e quindi selezionare una freccia nella galleria per mostrare i dettagli di un elemento.
Seleziona il pulsante Indietro per tornare alla raccolta dei prodotti e quindi premi ESC.
Modifica dei dettagli
Infine, l'ultima attività di base è la modifica del contenuto di un record, eseguita dagli utenti in un controllo Modulo di modifica.
Per visualizzare e modificare il record, il controllo Modulo modifica usa due proprietà.
- Proprietà DataSource: nome dell'origine dati contenente il record. Come nel caso del controllo Modulo visualizzazione, questa proprietà popola il pannello destro con i campi e determina il nome visualizzato e il tipo di dati (stringa, numero, data e così via) di ognuno. Questa proprietà determina anche la validità o meno del valore di ogni campo prima dell'invio all'origine dati sottostante.
- Proprietà Item: Il record da modificare, spesso connesso alla proprietà Selected del controllo Gallery. In questo modo puoi selezionare un record nel controllo raccolta, visualizzarlo nella schermata dei dettagli e modificarlo nella schermata di modifica e creazione.
Per aggiungere un controllo Modulo modifica:
- Aggiungi una schermata, aggiungi un controllo Modulo modifica e quindi imposta la proprietà DataSource del modulo su 'Ice Cream'.
- Imposta la proprietà Item su Gallery1.Selected.
Ora puoi selezionare i campi da mostrare nella schermata, nonché il tipo di scheda da visualizzare per ogni campo. Mentre apporti le modifiche nel riquadro destro, la proprietà DataField di ogni controllo Scheda viene impostata sul campo con cui interagirà l'utente. La schermata sarà simile a questo esempio:
Queste due proprietà sono uguali alle proprietà del controllo Modulo visualizzazione. Con queste soltanto, possiamo visualizzare i dettagli di un record.
Il controllo Modulo modifica fornisce funzionalità aggiuntive offrendo la funzione SubmitForm per il writeback delle modifiche nell'origine dati. Si usa questo con un controllo pulsante o immagine per salvare le modifiche di un utente.
- Aggiungi un controllo Pulsante, imposta la proprietà Text per mostrare Salva e imposta la proprietà OnSelect su questa formula:
SubmitForm( Form1 )
Per aggiungere lo spostamento da e verso questa schermata:
Aggiungi un altro controllo pulsante, impostane la proprietà Text in modo da visualizzare Annulla e la proprietà OnSelect su questa formula:
ResetForm( Form1 ); Back()Questa formula rimuove le modifiche non salvate e apre la schermata precedente.
Imposta la proprietà OnSuccess del modulo su Back().
Al termine del salvataggio delle modifiche, viene aperta automaticamente la schermata precedente, in questo caso quella dei dettagli.
Nella schermata di visualizzazione, aggiungi un pulsante e imposta la sua proprietà Text per mostrare Modifica e la proprietà OnSelect su questa formula:
Navigate( Screen3, None )
Hai creato un'app di base con tre schermate per la visualizzazione e l'immissione di dati. Per provarlo, mostra la schermata della galleria e quindi seleziona il pulsante di riproduzione (o premi F5 sulla tastiera). Il punto rosa indica dove l'utente seleziona la schermata in ogni passaggio.
Crea un record
L'utente interagisce con lo stesso modulo di modifica sia per l'aggiornamento che per la creazione dei record. Quando l'utente vuole creare un record, la funzione NewForm determina il passaggio del modulo alla modalità Nuovo.
Quando il modulo è nella modalità Nuovo, ogni campo viene impostato sul valore predefinito dell'origine dati. Il record specificato nella proprietà Item del modulo viene ignorato.
Quando l'utente è pronto per salvare il nuovo record, viene eseguita la funzione SubmitForm. Dopo che è stato completato l'invio, il modulo passa nuovamente alla modalità Modifica.
Nella prima schermata aggiungi un pulsante Nuovo:
Sulla schermata con la raccolta, aggiungi un controllo Button.
Imposta la proprietà Text del pulsante su Nuovo e la proprietà OnSelect su questa formula:
NewForm( Form1 ); Navigate( Screen3, None )Questa formula determina il passaggio del controllo Modulo modifica di Screen3 alla modalità Nuovo e apre la schermata in modo che possa essere compilata dall'utente.
Quando viene aperta la schermata di modifica e creazione, il modulo è vuoto e pronto per l'aggiunta di un elemento da parte dell'utente. Quando l'utente seleziona il pulsante Salva, la funzione SubmitForm fa sì che venga eseguita la creazione anziché l'aggiornamento di un record. Se l'utente seleziona il pulsante Annulla, la funzione ResetForm riporta il modulo alla modalità Modifica e la funzione Back apre la schermata per l'esplorazione della raccolta.
Eliminare un record
Nella schermata di visualizzazione aggiungi un pulsante e impostane la proprietà Text in modo da visualizzare Elimina.
Impostare la proprietà OnSelect del pulsante su questa formula:
Remove( 'Ice Cream', Gallery1.Selected ); Back()
Gestione degli errori
In questa app si verifica un errore quando il valore di un campo non è valido, un campo obbligatorio è vuoto, non si è connessi alla rete o si riscontra qualsiasi altro problema.
In caso di esito negativo di SubmitForm per qualsiasi motivo, la proprietà Error del controllo Modulo modifica contiene un messaggio di errore da visualizzare all'utente. Con queste informazioni, l'utente potrà correggere il problema e inviare di nuovo la modifica oppure annullare l'aggiornamento.
Nella schermata di creazione e modifica, aggiungi un controllo Etichetta e spostalo sotto il pulsante Salva. Qualsiasi errore sarà facilmente visibile dopo che l'utente seleziona questo controllo per salvare le modifiche.
Imposta la proprietà Text del controllo Etichetta in modo da visualizzare Form1.Error.
In un'app generata da Power Apps dai dati, la proprietà AutoHeight di questo controllo è impostata su true in modo da non utilizzare alcuno spazio se non si verificano errori. Le proprietà Height e Y del controllo Modulo modifica, inoltre, vengono regolate dinamicamente per tenere conto della crescita del controllo in caso di errore. Per altri dettagli, genera un'app dai dati esistenti ed esamina queste proprietà. La casella di testo per il controllo degli errori è molto piccola quando non si è verificato alcun errore; potrebbe essere necessario aprire la visualizzazione Avanzata (disponibile nella scheda Visualizza) per selezionare questo controllo.
Aggiornare i dati
La fonte dei dati viene aggiornata ogni volta che l'utente apre l'app. Tuttavia, l'utente può voler aggiornare i record nella raccolta senza dover chiudere l'app. Aggiungi un pulsante Aggiorna in modo che l'utente possa selezionarlo per aggiornare manualmente i dati:
Nella schermata con il controllo raccolta aggiungi un controllo pulsante e impostane la proprietà Text in modo da visualizzare Aggiorna.
Imposta la proprietà OnSelect di questo controllo su questa formula:
Refresh( 'Ice Cream' )
Cerca e ordina la galleria
Nell'app generata da Power Apps dai dati, non sono stati esaminati due controlli nella parte superiore della schermata di esplorazione. Usando questi controlli, l'utente può cercare uno o più record, ordinare i record in senso crescente o decrescente o eseguire entrambe le operazioni.
Quando l'utente seleziona il pulsante di ordinamento, l'ordinamento della raccolta viene invertito. Per creare questo comportamento, puoi usare una variabile di contesto per tenere traccia della direzione di ordinamento della raccolta. Quando l'utente seleziona il pulsante, la variabile viene aggiornata e la direzione viene invertita. La proprietà OnSelect del pulsante di ordinamento viene impostata su questa formula: UpdateContext( {SortDescending1: !SortDescending1} )
La funzione UpdateContext crea la variabile di contesto SortDescending1, se non esiste già. La funzione leggerà la variabile e la imposterà sul valore logico opposto usando l'operatore !. Se il valore è true, diventa false. Se il valore è false, diventa true.
La formula per la proprietà Items del controllo raccolta usa questa variabile di contesto, insieme al testo nel controllo TextSearchBox1:
Sort(
If( IsBlank(TextSearchBox1.Text),
Assets,
Filter( Assets, TextSearchBox1.Text in Text(ApproverEmail) )
),
ApproverEmail,
If(SortDescending1, Descending, Ascending)
)
Esaminiamo i singoli elementi:
All'esterno si trova la funzione Sort, che accetta tre argomenti: una tabella, un campo in base al quale eseguire l'ordinamento e la direzione di ordinamento.
- La direzione di ordinamento è ricavata dalla variabile di contesto attivata/disattivata quando l'utente seleziona il controllo ImageSortUpDown1. Il valore true/false viene convertito nelle costanti Descending e Ascending.
- Il campo in base al quale eseguire l'ordinamento è fisso ed è impostato su ApproverEmail. Se modifichi i campi visualizzati nella galleria, devi modificare questo argomento anche.
All'interno si trova la funzione Filter, che accetta una tabella come argomento e un'espressione da valutare per ogni record.
- La tabella è l'origine dati grezzi Assets, che rappresenta il punto di partenza prima di applicare il filtro o l'ordinamento.
- L'espressione cerca un'istanza della stringa contenuta in TextSearchBox1 all'interno del campo ApproverEmail. Anche in questo caso, se modifichi i campi visualizzati nella raccolta, devi aggiornare anche questo parametro.
- Se il controllo TextSearchBox1 è vuoto, l'utente vuole visualizzare tutti i record e la funzione Filter viene ignorata.
Questo è solo un esempio. Puoi creare una formula personalizzata per la proprietà Items in base alle esigenze della propria app, combinando Filter, Sort e altri operatori e funzioni.
Progettazione della schermata
Non sono stati finora esaminati altri modi per distribuire i controlli nelle schermate, perché le opzioni disponibili sono numerose e la selezione ottimale dipende dalle esigenze dell'app specifica.
Dato che lo spazio presente sugli schermi dei telefoni è limitato, è probabile che si voglia eseguire l'esplorazione, la visualizzazione e la modifica/creazione in schermate diverse. In questo argomento, ogni schermata viene aperta dalle funzioni Navigate e Back.
Su un tablet, puoi eseguire l'esplorazione, la visualizzazione e la modifica/creazione in due schermate o anche in una sola. Nel secondo caso, non sono necessarie funzioni Navigate o Back.
Se l'utente usa la stessa schermata, devi assicurarti che l'utente non possa modificare la selezione nella raccolta perdendo potenzialmente le modifiche nel controllo Modulo di modifica. Per impedire all'utente di selezionare un diverso record quando le modifiche a un altro record non sono ancora state salvate, imposta la proprietà Disabled della raccolta su questa formula:
EditForm.Unsaved
Risolvere i problemi comuni relativi ai moduli
SubmitForm non salva le modifiche
Se SubmitForm viene eseguito ma le modifiche non vengono salvate, verificare quanto segue:
- Errori di convalida: la proprietà Error del modulo contiene un messaggio di errore quando l'invio non riesce. Aggiungere un controllo Label e impostarne la proprietà Text su Form1.Error per visualizzare l'errore all'utente.
- Campi obbligatori mancanti: se l'origine dati contrassegna i campi come richiesto, il modulo non verrà inviato fino a quando tali campi non hanno valori. Controllare la funzione DataSourceInfo o convalidare i campi con Validate.
- Permissions: assicurarsi che l'utente connesso abbia accesso in scrittura all'origine dati, ad esempio la tabella SharePoint list o Dataverse.
- Connessione all'origine dati: se l'app ha perso la connessione, SubmitForm non riesce a raggiungere l'origine dati. Usare il segnale connessione per controllare la connettività e visualizzare un messaggio all'utente.
La galleria non mostra i record nuovi o aggiornati dopo aver salvato
Dopo l'esito positivo di SubmitForm , l'origine dati del modulo viene aggiornata automaticamente. Tuttavia, se la raccolta è connessa a una variabile o a una visualizzazione filtrata diversa, potrebbe non riflettere immediatamente la modifica. Usare la funzione Refresh nella formula OnSuccess del modulo per aggiornare la galleria.
SubmitForm(Form1);
Refresh(MyDataSource)
Il modulo mostra i dati del record errato
La proprietà Item del modulo controlla il record visualizzato. Assicurati che sia impostata sulla proprietà Selected della raccolta, ad esempio Gallery1.Selected. Se è impostata su un record statico o una variabile, il modulo può visualizzare dati non aggiornati.
I campi del modulo sono vuoti dopo il cambio di record nella galleria
Se la proprietà Item del modulo è impostata correttamente su Gallery1.Selected e i campi sono ancora vuoti, assicurarsi che il modulo sia in modalità Modifica , non In modalità Nuovo . La chiamata a NewForm attiva la modalità Nuovo del modulo e cancella tutti i campi. Chiamare EditForm per restituire il modulo in modalità di modifica prima di passare alla schermata di modifica.
I nomi delle colonne mostrano x0020 nel formato
Se il SharePoint list o tabella di Excel contiene nomi di colonna con spazi, Power Apps codifica tali spazi come _x0020_ nelle formule. Questo è previsto. Rinominare la colonna nell'origine dati per rimuovere gli spazi o continuare a usare il nome codificato nelle formule.
Informazioni correlate
- Riferimento ai controlli del modulo di visualizzazione e del modulo di modifica
- Funzioni SubmitForm, EditForm, NewForm, ResetForm
- Informazioni sulle origini dati per le app canvas
- Aggiungere un controllo galleria a una app canvas
- Aggiungere e configurare i controlli nelle app canvas
- Informazioni sulle variabili nelle app canvas