Formule e funzionalità
Usando le formule è possibile cambiare il modo in cui i controlli rispondono e funzionano. Ad esempio, in determinati scenari è possibile nascondere un controllo sulla schermata fino a quando non si verifica un'altra azione. Per farlo, è sufficiente scrivere una semplice formula per aggiornare la proprietà Visible del controllo. Oppure, invece di nascondere il controllo, è possibile impostare la proprietà DisplayMode su View, rimuovendo in questo modo la possibilità di modificarlo. È possibile implementare questo tipo di formula in molti scenari di un'app canvas. Usando le formule nell'app canvas per modificare le proprietà DisplayMode e/o Visible di un controllo, è possibile sviluppare app più intuitive.
Di seguito si vedrà come applicare questa formula per mostrare e nascondere un pulsante in una raccolta in base alle informazioni presenti nell'origine dati. In questo esempio si crea una raccolta denominata "TestScoresCollection". Quindi, sarà possibile aprire un'app canvas esistente e creare una nuova schermata.
Inserire un controllo Pulsante nella schermata.
Impostare la proprietà OnSelect del pulsante su:
ClearCollect(TestScoresCollection,{Name:"Student 1", TestScore:"B"},{Name:"Student 2", TestScore:"C"},{Name:"Student 3", TestScore:"A"},{Name:"Student 4", TestScore:"C"},{Name:"Student 5", TestScore:"A"})
Per generare la raccolta TestScoresCollection tenere premuto il tasto ALT (oppure impostare l'app in modalità di anteprima) e selezionare il pulsante.
Inserire un controllo Raccolta verticale nella schermata e modificarne il layout in Titolo e sottotitolo
Selezionare TestScoresCollection come origine dati. La raccolta dovrebbe avere un aspetto simile al seguente screenshot.
Selezionare la prima riga della raccolta e inserire un nuovo pulsante nella raccolta stessa.
Modificare la proprietà Text del pulsante in "Retake Test".
Con il pulsante ancora selezionato, andare alla proprietà Visible e inserire il seguente codice, in modo che questo pulsante sia visibile solo per i voti degli studenti diversi da "A" o "B".
If(ThisItem.TestScore = "A" Or ThisItem.TestScore = "B", false,true)
Notare che quando si inserisce questo codice, il pulsante non è più visibile per gli studenti con un voto "A" o "B". Se si esegue una ricerca nel campo di input della formula la proprietà Visible, si noterà il pulsante Copilot. Si può usare Copilot per ottenere maggiori informazioni su questa o su qualsiasi altra formula nell'app.
Selezionare il pulsante Copilot nella barra della formula, quindi scegliere Spiega questa formula. Il risultato sarà in qualche misura simile a questo screenshot.
È possibile usare la funzionalità Copilot Spiega questa formula per riuscire a comprendere meglio le formule presenti nell'app. Inoltre, è possibile usare il pulsante Copia per acquisire la spiegazione di Copilot e aggiungerla come commento nel codice. Per aggiungere commenti nel codice, aggiungere una doppia barra "//" prima di qualsiasi riga del codice. La doppia barra fa sì che Power Apps ignori il testo che segue, quindi si tratta di una caratteristica utile ai fini della documentazione.
//This expression checks if the TestScore of the current item is equal to "A" or "B". If it is, the expression returns false. Otherwise, it returns true.
Ora si è usata questa formula per la proprietà View di un pulsante, ma è possibile applicare la logica per influenzare la modalità di visualizzazione del pulsante. In questo caso, non si è aggiunto codice alla proprietà OnSelect del pulsante "Retake Test", ma si può comprendere il controllo esercitato sul comportamento dell'app modificando il modo in cui rispondono i controlli. La nostra formula restituisce true o false, e questo è tutto ciò che Power Apps cerca nella proprietà Visible. È anche possibile abbreviare questo codice perché si tratta di una risposta true/false, ma questo argomento verrà trattato nella successiva unità.