Podstawy PowerApps #2 – tworzenie rekordów, SubmitForm oraz Patch

#Office 365, #SharePoint, #PowerApps, #Flow, #MS Graph, #Webcon BPS, #Running & #Technology

Podstawy PowerApps #2 – tworzenie rekordów, SubmitForm oraz Patch

W poprzednim wpisie pokazałem podstawy prezentacji danych z przykładowych źródeł danych, w tym przypadku listy SharePoint. Dziś o tym jak prosto i szybko tworzyć nowe rekordy przy użyciu 2 różnych funkcji – SubmitForm oraz Patch.

SubmitForm

Zacznijmy od prostszej funkcji, czyli od SubmitForm. Funkcja ta jest najczęściej wywoływana we właściwości OnSelect przycisków w aplikacji, zarówno do tworzenia nowych rekordów jak i edycji już istniejących.

Żeby tworzyć nowe rekordy przy użyciu funkcji SubmitForm potrzebujemy conajmniej:

  • Ekranu, na którym umieścimy formularz (scr_NewRecord_SubmitForm)
  • Formularza, do którego wprowadzimy dane (frm_New_SumitForm)
  • Przycisku, którym wywołamy funkcję (btn_SumitForm)

Po osadzeniu formularza na ekranie musimy pamiętać o dwóch rzeczach. Po pierwsze o podpięciu go do źródła danych, w tym przypadku listy „Countries”. Po drugie, ponieważ chcemy użyć go do tworzania nowych rekordów, o zmianie domyślnego trybu z FormMode.Edit na FormMode.New.

We właściwości OnSelect przycisku btn_SubmitForm ustawiamy wywołanie trzech funkcji. SubmitForm aby zapisać w źródle danych wartości wprowadzone w formualrzu frm_New_SubmitForm, ResetForm aby zresetować kontrolki formularza do pierwotnego stanu oraz Navigate aby przekierować użytkownika na ekran, na którym wyświetlimy informację o stworzeniu nowego rekordu.

Jak formularz zadziała w praktyce? Wprowadzamy dane, klikamy przycisk „Submit Form” i zostajemy przeniesieni na ekran z potwierdzeniem. Klikamy przycisk „Home Page” i wracamy do galerii ze wszystkimi rekordami. Jak widać dodany przez nas rekord znajduje się na liście i możemy zobaczyć jego szczegóły na Display Form.

 Patch

Funkcja Patch oferuje nam możliwość stworzenia nowego rekordu (lub aktualizacji istniejącego) w przypadku bardziej złożonych scenariuszy, np. gdy nie mamy możliwości zastosować jednej kontrolki formularza.

Żeby pokazać działanie funkcji Patch na nowym ekranie (scr_NewRecord_patch) wstawmy odpowiednie kontrolki.

  • Text Input (txt_Country) do wprowadzenia nazwy kraju
  • Combo box (cmb_Region) do wyboru regionu
  • Text Input (txt) Population) do wprowadzenia wielkości populacji

Do tego odpowiednie etykiety opisujące kontrolki oraz przycisk „Save” (btn_Save)

Dla kontrolki cmb_Region musimy jeszcze wskazać źródło wyświetlanych w niej elementów, w tym przypadku będzie to kolumna „Region” ze źródła „Countries”.

Mając już gotowe wszystkie niezbędne kontrolki możemy zdefiniować właściwość OnSelect przycisku „Save” wykorzystując funkcję Patch, której składnia wygląda w sposób następujący:

Patch(DataSource, BaseRecord, ChangeRecord)

Jako DadaSource wskazujemy źródło danych, czyli listę „Countries”. Jako BaseRecord wskazujemy Defaults, ponieważ tworzymy nowy rekord a nie edytujemy istniejący. W ChangeRecord wskazujemy natomiast kontrolki, z których pochodzą wartości i kolumny źródła danych, w których powinny zostać zapisane. W przypadku „Population”, które w źródle danych jest kolumną typu numer wykorzystujemy dodatkowo funkcję Value, która konwertuje wartość string wprowadzoną w kontrolce txt_Population na wartość liczbową.

Czas na sprawdzenie. Tak samo jak w przypadku użycia kontrolki Form, po wprowadzeniu danych i kliknięciu Save z zastosowaniem funkcji Patch tworzymy nowy rekord w źródle danych.

Jak widać dodany przez nas rekord znajduje się na liście i możemy zobaczyć jego szczegóły na Display Form.

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *