Uso di controlli e funzioni per creare una formula dinamica
L'esercizio seguente usa il controllo Pulsante e la funzione UpdateContext per creare una formula dinamica che consente di modificare la proprietà DisplayMode di un pulsante.
Accedere a Power Apps.
Selezionare + Crea>App vuota>Crea (in App canvas da modello vuoto). Assegnare un nome all'app, quindi selezionare Crea.
Selezionare l'opzione di menu Inserisci e aggiungere un Pulsante.
Modificare la proprietà Text del pulsante in Aggiungi.
Suggerimento
È possibile modificare rapidamente la proprietà Text di un controllo Pulsante facendo doppio clic sul controllo stesso mentre è attiva la modalità di modifica.
Inserire un altro controllo Pulsante e sostituire la proprietà Text con Clear.
Aggiungere un'Etichetta di testo e un Input di testo al canvas.
Rinominare il controllo Input di testo tiAmount e nella proprietà Default eliminare "Input di testo". Per la proprietà Format immettere
TextFormat.Number
.Nota
L'immagine sottostante mostra l'esercizio completato. Fare riferimento a questa immagine per il posizionamento e i nomi dei controlli. Se il codice restituisce errori, verificare attentamente che i nomi dei controlli corrispondano al codice scritto.
Selezionare il pulsante Add (Button1) e impostare la proprietà OnSelect su:
UpdateContext({RunningTotal: RunningTotal + Value(tiAmount.Text)})
Selezionare il pulsante Clear (Button2) e impostare la proprietà OnSelect su:
UpdateContext({RunningTotal: 0}); Reset (tiAmount)
Impostare la proprietà DisplayMode del pulsante Clear su:
If(RunningTotal > 0, DisplayMode.Edit, DisplayMode.Disabled)
Notare che dopo l'aggiornamento la proprietà DisplayMode risulta inattiva (o disabilitata).
Selezionare il controllo Etichetta (Label1) e aggiornare la proprietà Text in base alla variabile di contesto:
RunningTotal
Testare l'app in modalità di anteprima. Nell'input di testo immettere un numero positivo e selezionare il pulsante Add.
Dopo la selezione del pulsante Add, il pulsante Clear è di nuovo selezionabile.
Selezionare il pulsante Clear per cancellare il campo di input e RunningTotal.
Per questo esempio si è usata una funzione If per valutare se RunningTotal è maggiore di 0. Se è maggiore di 0, il pulsante Clear diventa modificabile (DisplayMode.Edit). Se la variabile non ha valore o il valore è 0, il pulsante è disabilitato (DisplayMode.disabled).
Un altro modo per ottenere la stessa funzionalità è evitare la variabile di contesto nelle formule. In questo caso, si potrebbe assegnare un nome a un controllo nella formula DisplayMode. Ad esempio, si potrebbe usare il valore del controllo etichetta nella formula.
Riattivare la modalità di modifica dell'app e selezionare il pulsante Clear. Selezionare la proprietà DisplayMode e modificare la formula come segue:
If(Value(Label1.Text) > 0, DisplayMode.Edit, DisplayMode.Disabled)
Poiché il controllo Etichetta archivia informazioni sotto forma di testo, è necessario usare la funzione Value. La funzione Value converte una stringa numerica di testo in un numero. Se si tenta di valutare il testo rispetto a un valore, viene visualizzato un errore nella formula. L'inserimento della proprietà Text dell'etichetta in una funzione Value garantisce che Power Apps la interpreti come un numero.
Mentre si continua a imparare, sviluppare e distribuire più app, si scoprirà che in genere esistono più modi per creare la stessa funzionalità usando controlli, funzioni e proprietà differenti.