AS
Power Apps
Microsoft Power Apps con Share Point
Una semplice App a due schermate, basata su due elenchi Share Point
Utilizzeremo due Lista Share Point. Quella principale è nominata myList, mentre la seconda, nominata myListColor, ci servirà solo da pretesto per vedere l'utilizzo della funzione LookUp.
Link ad alcune funzioni utilizzate nel presente esempio:
(Qui sotto l'output finale)
Le due liste Share Point
myList
  • Titolo (automatico, presente in ogni lista)
  • myText (riga singola di testo)
  • myNumber (numero)
  • myChoice (scelta)
  • myDate (data)
myListColor
  • Titolo (automatico, presente in ogni lista)
  • myColor (riga singola di testo)
Titolo myColor

Scelta 1 #ffaaaa
Scelta 2 #aaffaa
Scelta 3 #aaaaff
Le principali righe di codice
mainScreen (schermata)
  • Height = Max(App.Height; App.DesignHeight)
  • Width = Max(App.Width;App.MinScreenWidth)
lbl_titolo (etichetta)
  • Text = "App di esempio"
  • Color = RGBA(200; 200; 200; 1)
  • Fill = RGBA(100; 100; 100; 1)
  • Size = 24
  • X = 0
  • Y = 0
  • Width = App.Width
  • Height = 100
ico_new (icona)
  • Icon: Icon.Add
  • X = App.Width - Self.Width
  • Y = 0
  • Height = lbl_titolo.Height
  • Width = Self.Height
  • Color = RGBA(200; 200; 200; 1)
  • OnSelect = Set(varFormData;Defaults(myList));;
    Set(varFormMode;FormMode.New);;
    Navigate(editScreen)
txt_find_myText (input di testo)
myGallery (raccolta verticale)
  • Items = Filter(myList;StartsWith(myText;txt_find_myText.Text))
  • X = 0
  • Y = lbl_titolo.Y + lbl_titolo.Height
  • Width = App.Width
  • Height = App.Height - Self.Y
lbl_field1 (etichetta)
  • Text = ThisItem.Titolo
lbl_field2 (etichetta)
  • Text = ThisItem.myText
lbl_field3 (etichetta)
  • Text = ThisItem.myNumber
lbl_field4 (etichetta)
  • Text = ThisItem.myChoice.Value
  • Fill = ColorValue(LookUp(myListColor;Titolo=ThisItem.myChoice.Value).myColor)
lbl_field5 (etichetta)
  • Text = Text(ThisItem.myDate;"dd/mm/yyyy")
ico_edit (icona)
  • icon = Icon.Edit
  • OnSelect = Set(varFormData;ThisItem);;
    Set(varFormMode;FormMode.Edit);;
    Navigate(editScreen)
editScreen (schermata)
myForm (modulo di modifica)
  • DataSource = myList
  • Item = varFormData
  • DefaultMode = varFormMode
Titolo_DataCard1
  • DataField = "Title"
  • Default = varFormData.Titolo
  • Required = true
myText_DataCard1
  • DataField = "myText"
  • Default = varFormData.myText
myNumber_DataCard1
  • DataField = "myNumber"
  • Default = varFormData.myNumber
myChoice_DataCard1
  • DataField = "myChoice"
  • Default = varFormData.myChoice
btn_submit (pulsante)
  • Text = "Submit"
  • OnSelect = Patch(myList;
    varFormData;
    myForm.Updates;
    {myDate: Now()});;
    Navigate(mainScreen)
  • DisplayMode = If(myForm.Valid = true;
    DisplayMode.Edit;
    DisplayMode.Disabled)
btn_cancel (pulsante)
  • Text = “Cancel”
  • OnSelect = Navigate(mainScreen)
ico_reload (icona)
  • icon = Icon.Reload
  • OnSelect = ResetForm(myForm)
  • Tooltip = "Ripristina i valori iniziali del record"
ico_delete (icona)
  • icon = Icon.Trash
  • OnSelect = IfError(
    RemoveIf(myList; Titolo = varFormData.Titolo);
    Notify("Si è verificato un errore"));;
    Set(varFormData;Blank())