Opis formularzy aplikacji kanwy

Możesz dodać do aplikacji kanwy trzy typy kontrolek, aby umożliwić użytkownikom przeglądanie, tworzenie i edytowanie rekordów oraz wyświetlanie szczegółów danego rekordu:

Działanie Kontrolka Opis
Przeglądanie w poszukiwaniu rekordu Kontrolka Galeria Umożliwia filtrowanie, sortowanie, wyszukiwanie i przewijanie rekordów ze źródła danych oraz wybieranie konkretnego rekordu. W przypadku konieczności pokazania kilku rekordów naraz — nawet na małym ekranie — pozwala wyświetlać tylko część pól rekordów.
Wyświetlanie szczegółów rekordu Kontrolka Formularz wyświetlania Umożliwia wyświetlanie wszystkich pól rekordu lub tylko wybranych pól.
Edytowanie lub tworzenie rekordu Kontrolka Formularz edycji Umożliwia aktualizowanie jednego lub kilku pól rekordu (albo utworzenie rekordu przy użyciu wartości domyślnych) i zapisywanie zmian w źródle danych.

Poszczególne kontrolki umieść na różnych ekranach, aby ułatwić ich odróżnianie:

Trzy ekrany umożliwiające przeglądanie, wyświetlanie i edytowanie rekordów.

Połącz te kontrolki z formułami zgodnie z opisem w tym temacie, aby utworzyć kompleksowe środowisko pracy użytkownika.

Wymagania wstępne

Eksplorowanie wygenerowanej aplikacji

Usługa Power Apps może automatycznie wygenerować aplikację na podstawie wskazanego źródła danych. Każda aplikacja zawiera trzy ekrany z opisanymi wcześniej kontrolkami i formuły, które łączą te elementy. Możesz od razu zacząć używać tych aplikacji lub je dostosować do określonych celów. Wnikliwa analiza ich działania pozwoli Ci zapoznać się z przydatnymi pojęciami, które dotyczą również Twoich aplikacji. W poniższych sekcjach omówiono ekrany, kontrolki i formuły, które umożliwiają działanie wygenerowanej aplikacji.

Ekran przeglądania

Ekran przeglądania.

Ten ekran zawiera następujące kluczowe formuły:

Kontrola Obsługiwane zachowanie Wzór
BrowseGallery1 Wyświetla rekordy ze źródła danych Assets. Dla właściwości Items galerii ustawiono formułę, która korzysta ze źródła danych Assets.
ImageNewItem1 Wyświetla ekran Edit and Create zawierający wartości domyślne poszczególnych pól, co ułatwia użytkownikowi utworzenie rekordu. Dla właściwości OnSelect obrazu ustawiono następującą formułę:
NewForm( EditForm1 );
Navigate( EditScreen1, None )
NextArrow1 (w galerii) Wyświetla ekran Details umożliwiający wyświetlenie wszystkich lub tylko wybranych pól aktualnie zaznaczonego rekordu. Dla właściwości OnSelect strzałki ustawiono następującą formułę:
Navigate( DetailScreen1, None )

Główna kontrolka, BrowseGallery1, zajmuje większość obszaru ekranu. Użytkownik może przewijać zawartość galerii w poszukiwaniu określonego rekordu, a następnie wyświetlić jego dodatkowe pola lub je zaktualizować.

Ustawienie właściwości Items galerii pozwala wyświetlić w niej rekordy ze źródła danych. Na przykład ustawienie tej właściwości na wartość Assets umożliwia wyświetlenie rekordów ze źródła danych o tej nazwie.

Uwaga

W wygenerowanej aplikacji dla właściwości Items domyślnie ustawiono znacznie bardziej skomplikowaną formułę, która pozwala użytkownikowi sortować i wyszukiwać rekordy. Tworzenie takiej formuły omówiono w dalszej części tego tematu, a na razie wystarczy jej prostsza wersja.

Oprócz wyszukiwania rekordu w celu jego wyświetlenia lub zmodyfikowania użytkownik może utworzyć rekord, wybierając znak „+” wyświetlany nad galerią. Aby uzyskać ten efekt, dodaj kontrolkę Obraz z wyświetlonym znakiem „+”, a dla jej właściwości OnSelect ustaw tę formułę:
NewForm( EditForm1 ); Navigate( EditScreen1, None )

Formuła ta powoduje otwarcie ekranu Edit and Create, który zawiera kontrolkę Formularz edycji o nazwie EditForm1. Umożliwia ona także przełączenie formularza w tryb Nowy, w którym są wyświetlane domyślne wartości ze źródła danych, co pozwala użytkownikowi łatwo utworzyć rekord od początku.

Aby zbadać dowolną kontrolkę widoczną w galerii BrowseGallery1, wybierz tę kontrolkę w pierwszej sekcji tej galerii, która służy jako szablon dla wszystkich innych sekcji. Na przykład wybierz środkową kontrolkę Etykieta wyświetlaną w lewej części formularza:

Ekran przeglądania z kontrolkami.

W tym przykładzie właściwość Text kontrolki ma wartość ThisItem.AssignedTo, która jest polem w źródle danych Assets. Właściwości Text pozostałych trzech kontrolek Etykieta w galerii są ustawione na podobne formuły, a poszczególne kontrolki wyświetlają różne pola ze źródła danych.

Wybierz kontrolkę Kształt (strzałkę) i upewnij się, że jej właściwość OnSelect jest ustawiona na następującą formułę:
Navigate( DetailScreen1, None )

Gdy użytkownik znajdzie odpowiedni rekord w galerii BrowseGallery1, może wybrać strzałkę, aby wyświetlić więcej informacji dotyczących tego rekordu na ekranie DetailScreen1. Wybranie strzałki powoduje zmianę wartości właściwości Selected kontrolki BrowseGallery1. W tej aplikacji ta właściwość określa, który rekord jest wyświetlany na ekranie DetailScreen1 oraz na ekranie Edit and Create — jeśli użytkownik zechce zaktualizować rekord.

Ekran szczegółów

Ekran szczegółów z kontrolkami.

Ten ekran zawiera następujące kluczowe formuły:

Kontrola Obsługiwane zachowanie Wzór
DetailForm1 Wyświetla rekord ze źródła danych Assets Ustaw właściwość DataSource na wartość Assets.
DetailForm1 Określa, który rekord ma zostać wyświetlony. W wygenerowanej aplikacji wyświetla rekord, który użytkownik zaznaczył w galerii. Ustaw właściwość Items tej kontrolki na tę wartość:
BrowseGallery1.Selected
Kontrolki Karta Wyświetla jedno pole rekordu w kontrolce Formularz wyświetlania. Właściwość DataField ustaw na nazwę pola ujętą w znaki podwójnego cudzysłowu (na przykład "Name").
ImageBackArrow1 Gdy użytkownik wybierze tę kontrolkę, otwierany jest ekran BrowseScreen1. Ustaw właściwość OnSelect na tę formułę:
Back()
ImageDelete1 Gdy użytkownik wybierze tę kontrolkę, rekord jest usuwany. Ustaw właściwość OnSelect na tę formułę:
Remove( Assets, BrowseGallery1.Selected )
ImageEdit1 Gdy użytkownik wybierze tę kontrolkę, otwierany jest ekran Edit and Create zawierający dane bieżącego rekordu. Ustaw właściwość OnSelect na tę formułę:
Navigate( EditScreen1, None )

W górnej części ekranu, nad formularzem DetailForm1 są widoczne trzy obrazy, które działają jako przyciski i koordynują korzystanie z trzech ekranów aplikacji.

Większą część ekranu zajmuje formularz DetailForm1, który wyświetla rekord wybrany przez użytkownika w galerii (ponieważ właściwość Item formularza ma wartość BrowseGallery1.Selected). Właściwość DataSource formularza udostępnia również metadane dotyczące źródła danych, takie jak przyjazna dla użytkownika nazwa wyświetlana każdego pola.

Formularz DetailForm1 zawiera kilka kontrolek Karta. Aby odnaleźć dodatkowe informacje, można wybrać kontrolkę Karta lub jej kontrolkę podrzędną.

Karta szczegółów z wybranymi kontrolkami karty w środowisku tworzenia.

Właściwość DataField kontrolki Karta określa, które pole jest wyświetlane na karcie. W tym przypadku właściwość ta ma wartość AssetID. Karta zawiera kontrolkę Etykieta, której właściwość Text ma wartość Parent.Default. Kontrolka ta wyświetla wartość domyślną karty, ustawianą za pośrednictwem właściwości DataField.

W wygenerowanej aplikacji kontrolki Karta są domyślnie zablokowane. Gdy karta jest zablokowana, nie można modyfikować niektórych właściwości, takich jak DataField, a pasek formuły dla tych właściwości jest niedostępny. Dzięki temu ewentualne dostosowania nie uniemożliwiają korzystania z podstawowych funkcji wygenerowanej aplikacji. W okienku po prawej stronie można jednak zmienić niektóre właściwości karty i jej kontrolek:

Ekran szczegółów z otwartym okienkiem opcji.

W okienku po prawej stronie można wybrać, które pola mają być widoczne i w jakich kontrolkach mają być wyświetlane poszczególne pola.

Ekran edytowania/tworzenia

Ekran edytowania z kontrolkami.

Ten ekran zawiera następujące kluczowe formuły:

Kontrola Obsługiwane zachowanie Wzór
EditForm1 Wyświetla rekord ze źródła danych Assets. Ustaw właściwość DataSource na wartość Assets.
EditForm1 Określa, który rekord ma zostać wyświetlony. W wygenerowanej aplikacji wyświetla rekord, który użytkownik zaznaczył na ekranie BrowseScreen1. Właściwość Item ustaw na tę wartość:
BrowseGallery1.Selected
Kontrolki Karta Kontrolka Formularz edycji udostępnia kontrolki, które pozwalają użytkownikowi edytować jedno lub więcej pól rekordu. Właściwość DataField ustaw na nazwę pola ujętą w znaki podwójnego cudzysłowu (na przykład "Name").
ImageCancel1 Gdy użytkownik wybierze tę kontrolkę, wszystkie wprowadzone zmiany są odrzucane i otwierany jest ekran Details. Ustaw właściwość OnSelect na tę formułę:
ResetForm( EditForm1 ); Back()
ImageAccept1 Gdy użytkownik wybierze tę kontrolkę, zmiany są przesyłane do źródła danych. Ustaw właściwość OnSelect na tę formułę:
SubmitForm( EditForm1 )
EditForm1 Po zaakceptowaniu zmian powraca do poprzedniego ekranu. Ustaw właściwość OnSuccess na tę formułę:
Back()
EditForm1 Jeśli zmiany nie zostaną zaakceptowane, bieżący ekran nie jest zamykany, co pozwala użytkownikowi rozwiązać problemy i ponownie przesłać zmiany. Pozostaw właściwość OnFailure pustą.
LblFormError1 Jeśli zmiany nie zostaną zaakceptowane, wyświetla komunikat o błędzie. Ustaw właściwość Text na tę wartość:
EditForm1.Error

Podobnie jak na ekranie Details, kontrolka formularza o nazwie EditForm1 zajmuje większą część ekranu Edit and Create. Ponadto właściwość Item formularza EditForm1 ma wartość BrowseGallery1.Selected, dzięki czemu formularz ten wyświetla rekord wybrany przez użytkownika na ekranie BrowseScreen1. Na ekranie Details wszystkie pola są wyświetlane jako tylko do odczytu, ale użytkownik może zaktualizować wartość jednego lub większej liczby pól za pomocą kontrolek na formularzu EditForm1. Ekran szczegółów korzysta również z właściwości DataSource w celu uzyskania dostępu do metadanych dotyczących tego źródła danych, takich jak przyjazna dla użytkownika nazwa wyświetlana każdego pola i lokalizacja zapisywania zmian.

Jeśli użytkownik wybierze ikonę „X” w celu anulowania aktualizacji, funkcja ResetForm odrzuca wszystkie niezapisane zmiany, a funkcja Back otwiera ekran Details. Na obu ekranach — Details i Edit and Create — jest widoczny ten sam rekord, chyba że użytkownik wybierze inny rekord na ekranie BrowseScreen1. Pola tego rekordu mają ostatnio zapisane wartości i nie są ustawiane na zmiany, które zostały wprowadzone, a następnie odrzucone.

Jeśli użytkownik zmieni jakieś wartości w formularzu, a następnie wybierze ikonę znacznika wyboru, funkcja SubmitForm prześle wprowadzone zmiany do źródła danych.

  • W przypadku pomyślnego zapisania zmian zostaje uruchomiona formuła OnSuccess formularza, a funkcja Back() otwiera ekran szczegółów z wyświetlonym zaktualizowanym rekordem.
  • W przeciwnym razie zostaje uruchomiona formuła OnFailure formularza, która nie wprowadza żadnych zmian, ponieważ jest pusta. Ekran Edit and Create pozostaje otwarty, co pozwala użytkownikowi anulować zmiany lub naprawić błąd. Etykieta LblFormError1 wyświetla przyjazny dla użytkownika komunikat o błędzie — wartość właściwości Error formularza.

Podobnie jak kontrolka Formularz wyświetlania, Formularz edycji zawiera kontrolki Karta, które udostępniają inne kontrolki, umożliwiające wyświetlanie różnych pól rekordu:

Karta edycji z wybranymi kontrolkami karty w środowisku tworzenia.

Na wybranej karcie przedstawionej na poprzedniej ilustracji zostało wyświetlone pole AssetID. Karta ta zawiera kontrolkę Wprowadzanie tekstu, która pozwala użytkownikowi edytować wartość tego pola. (Z drugiej strony, ekran szczegółowy zawiera to samo pole w kontrolce Etykieta przeznaczonej tylko do odczytu). Kontrolka Wprowadzanie tekstu ma właściwość Default ustawioną na wartość Parent.Default. W przypadku tworzenia nowego rekordu w kontrolce tej wyświetlana jest wartość początkowa, którą użytkownik może zmienić.

W okienku po prawej stronie można sterować widocznością poszczególnych kart, przestawiać je lub skonfigurować wyświetlanie pól w różnych typach kontrolek.

Ekran edycji z otwartym okienkiem opcji.

Tworzenie aplikacji od podstaw

Zrozumienie generowania aplikacji przez usługę Power Apps ułatwia tworzenie własnych aplikacji, w których są używane elementy i formuły omówione wcześniej w tym temacie.

Identyfikowanie danych testowych

Aby maksymalnie wykorzystać informacje zawarte w tym temacie, użyjemy źródła danych, z którym można eksperymentować. Powinno ono zawierać dane testowe, które można dowolnie odczytywać i aktualizować.

Uwaga

Jeśli używasz listy utworzonej przy użyciu list Microsoft, biblioteki programu SharePoint lub tabeli programu Excel, która zawiera nazwy kolumn ze spacjami jako źródło danych, usługa Power Apps zastąpi spacje „_x0020_”. Na przykład tekst „Nazwa kolumny” w SharePoint lub Excel będzie widoczny jako „Nazwa_x0020_kolumny” w Power Apps w przypadku wyświetlania w układzie danych lub stosowania w formule.

Aby dokładnie wykonać instrukcje opisane w pozostałej części tego tematu, utwórz listę o nazwie „Ice Cream” zawierającą następujące dane:

Lista Ice Cream.

  • Utwórz pustą aplikację na telefon i połącz ją ze źródłem danych.

    Uwaga

    Aplikacje na tablety są bardzo podobne, ale w ich przypadku warto użyć innego układu ekranu, aby w pełni wykorzystać dodatkowe miejsce.

    Przykłady podane w pozostałej części tego tematu są oparte na źródle danych o nazwie Ice Cream.

Przeglądanie rekordów

Galeria umieszczona na ekranie przeglądania pozwala wyszukiwać rekordy i szybko uzyskiwać zawarte w nich informacje.

  1. Dodaj pionową galerię, a w jej ustawieniach dotyczących układu wybierz opcję Tytuł.

    Dodaj pionową galerię.

  2. Ustaw właściwość Items galerii na wartość Ice Cream.

  3. Ustaw właściwość Text pierwszej etykiety w galerii na wartość ThisItem.Title.

    Umożliwia to wyświetlanie wartości pola Title poszczególnych rekordów za pomocą tej etykiety.

    Zaktualizowana etykieta.

  4. Zmień rozmiar galerii na pełny ekran i ustaw jej właściwości TemplateSize na wartość 60.

    Zawartość ekranu będzie podobna do poniższego przykładu, w którym wyświetlono wszystkie rekordy ze źródła danych:

    Galeria połączona ze źródłem danych Ice Cream.

Wyświetl szczegóły

Jeśli w galerii nie widać wszystkich szukanych informacji, wybierz odpowiednią strzałkę, aby otworzyć ekran szczegółów rekordu. Zawiera on kontrolkę Formularz wyświetlania, która pozwala wyświetlić więcej pól wybranego rekordu (albo wszystkie pola).

W procesie wyświetlania rekordu w kontrolce Formularz wyświetlania są używane dwie właściwości:

  • DataSource. Nazwa źródła danych, które zawiera rekord. Właściwość ta wypełnia polami prawy panel oraz określa nazwę wyświetlaną i typ danych (ciąg, liczba, data itp.) każdego pola.
  • Item. Wyświetlany rekord. Właściwość ta jest często połączona z właściwością Selected kontrolki Galeria, co pozwala użytkownikowi wybrać rekord w kontrolce Galeria, a następnie przejść do jego szczegółów.

Po ustawieniu właściwości DataSource można za pomocą okienka wyświetlanego po prawej stronie dodawać i usuwać pola oraz zmieniać sposób ich wyświetlania.

Użytkownicy nie mogą celowo lub przypadkowo zmienić żadnych wartości rekordu na tym ekranie. Formularz wyświetlania jest kontrolką tylko do odczytu, dlatego nie umożliwia modyfikowania rekordu.

Aby dodać kontrolkę Formularz wyświetlania:

  1. Dodaj ekran, a następnie dodaj do niego kontrolkę Formularz wyświetlania
  2. Ustaw właściwość DataSource formularza na wartość 'Ice Cream'.

W okienku po prawej stronie możesz wybrać pola, które mają być wyświetlane na ekranie, oraz wskazać typy kart dla poszczególnych pól. Wprowadzenie zmian w okienku po prawej stronie powoduje przypisanie pól, z których użytkownik będzie interaktywnie korzystać, do właściwości DataField poszczególnych kontrolek Karta. Ekran powinien wyglądać mniej więcej tak:

Lody na nowym ekranie.

Na koniec trzeba połączyć kontrolkę Formularz wyświetlania z kontrolką Galeria, aby umożliwić wyświetlanie szczegółów konkretnego rekordu. Po ustawieniu właściwości Item na formularzu pojawi się pierwszy rekord z galerii.

  • Ustaw właściwość Item kontrolki Formularz wyświetlania na wartość Gallery1.Selected.

    Szczegóły wybranego elementu zostaną wyświetlone na formularzu.

    Formularz wyświetlania dla źródła danych Ice Cream, połączony z kontrolką galerii.

Świetnie! Przejdziemy teraz do nawigacji — pokażemy, jak otwierać ekran szczegółów z poziomu ekranu galerii i ekran galerii z poziomu ekranu szczegółów.

  • Na ekranie dodaj kontrolkę Przycisk, ustaw jej właściwość Text na wartość Back, a właściwość OnSelect na formułę Back().

    Formuła ta powoduje powrót do galerii, gdy użytkownik zechce zakończyć wyświetlanie szczegółów.

    Formularz wyświetlania dla źródła danych Ice Cream z przyciskiem powrotu.

Powrócimy do kontrolki Galeria i dodamy funkcje nawigacji do ekranu szczegółów.

  1. Przejdź do pierwszego ekranu, który jest hostem dla kontrolki Galeria, i wybierz strzałkę pierwszego elementu w galerii.

  2. Dla właściwości OnSelect kształtu ustaw następującą formułę:
    Navigate( Screen2, None )

    Wyświetl formularz źródła danych Ice Cream z przyciskiem Wstecz z aktualizacją Nawiguj.

  3. Naciśnij klawisz F5, a następnie wybierz strzałkę w galerii. aby wyświetlić szczegóły elementu.

  4. Wybierz przycisk Back, aby powrócić do galerii produktów, a następnie naciśnij klawisz Esc.

Edytowanie szczegółów

Ostatnim podstawowym działaniem jest zmiana zawartości rekordu. Użytkownicy mogą to zrobić w kontrolce Formularz edycji.

W procesie wyświetlania i edytowania rekordu w kontrolce Formularz edycji są używane dwie właściwości:

  • DataSource. Nazwa źródła danych, które zawiera rekord. Podobnie jak w kontrolce Formularz wyświetlania właściwość ta wypełnia polami prawy panel oraz określa nazwę wyświetlaną i typ danych (ciąg, liczba, data itp.) każdego pola. Określa ona również poprawność wartości poszczególnych pól przed ich przesłaniem do źródła danych.
  • Item. edytowany rekord. Często jest ona połączona z właściwością Selected kontrolki Galeria. Dzięki temu można wybrać rekord w kontrolce Galeria, wyświetlić go na ekranie szczegółów i zmodyfikować na ekranie Edit and Create.

Aby dodać kontrolkę Formularz edycji:

  1. Dodaj ekran i kontrolkę Formularz edycji, a następnie ustaw właściwość DataSource formularza na wartość 'Ice Cream'.
  2. Ustaw właściwość Item na wartość Gallery1.Selected.

Teraz możesz wybrać pola, które mają być wyświetlane na ekranie. Możesz również wybrać typy kart do wyświetlania poszczególnych pól. Wprowadzenie zmian w okienku po prawej stronie powoduje przypisanie pól, z których użytkownik będzie interaktywnie korzystać, do właściwości DataField poszczególnych kontrolek Karta. Ekran powinien wyglądać mniej więcej tak:

Formularz wyświetlania dla źródła danych Ice Cream.

Te dwie właściwości są takie same jak właściwości kontrolki Formularz wyświetlania. Za ich pomocą można też wyświetlać szczegóły rekordu.

Kontrolka Formularz edycji oferuje więcej możliwości — udostępnia funkcję SubmitForm, która pozwala zapisać zmiany w źródle danych. Po dodaniu kontrolki przycisku lub obrazu można zapisać zmiany wprowadzone przez użytkownika.

  • Dodaj kontrolkę Przycisk, ustaw jej właściwość Text na wartość Zapisz, a właściwość OnSelect na następującą formułę:
    SubmitForm( Form1 )

Formularz edycji dla źródła danych Ice Cream.

Aby dodać funkcje nawigacji do tego ekranu:

  1. Dodaj drugą kontrolkę Przycisk, ustaw jej właściwość Text na wartość Cancel, a właściwość OnSelect na następującą formułę:
    ResetForm( Form1 ); Back()

    Formuła ta odrzuca niezapisane zmiany i otwiera poprzedni ekran.

    Zaktualizowany ekran.

  2. Ustaw właściwość OnSuccess formularza na formułę Back().

    Po pomyślnym zapisaniu aktualizacji automatycznie pojawia się poprzedni ekran (w tym przypadku ekran szczegółów).

    Formularz edycji z dodaną regułą „OnSuccess”

  3. Na ekranie Display dodaj przycisk, ustaw jego właściwość Text na wartość Edit, a właściwość OnSelect na następującą formułę:
    Navigate( Screen3, None )

    Zaktualizowano właściwość tekstu.

Udało Ci się utworzyć podstawową aplikację z trzema ekranami do wyświetlania i wprowadzania danych. Aby ją wypróbować, wyświetl ekran galerii, a następnie naciśnij klawisz F5 (lub wybierz przycisk „Podgląd” ze strzałką w lewym górnym rogu ekranu). Za pomocą różowej kropki zaznaczono elementy, które należy kliknąć lub nacisnąć w poszczególnych krokach.

Próbne korzystanie z aplikacji Ice cream.

Utwórz rekord

Za pomocą formularza Edit użytkownik może zarówno aktualizować, jak i tworzyć rekordy. Gdy użytkownik zechce utworzyć rekord, funkcja NewForm przełącza formularz do trybu Nowy.

W trybie Nowy wartości poszczególnych pól są ustawiane na wartości domyślne ze źródła danych. Rekord wskazany we właściwości Item formularza jest ignorowany.

Gdy użytkownik wybiera opcję zapisania nowego rekordu, zostaje uruchomiona funkcja SubmitForm. Po pomyślnym przesłaniu formularza następuje przełączenie do trybu edycji.

Na pierwszym ekranie dodaj przycisk New:

  1. Na ekranie z galerią dodaj kontrolkę Przycisk.

  2. Ustaw właściwość Text przycisku na wartość New, a właściwość OnSelect na następującą formułę:
    NewForm( Form1 ); Navigate( Screen3, None )

    Formuła ta przełącza kontrolkę Formularz edycji na ekranie Screen3 do trybu Nowy i otwiera ten ekran, aby użytkownik mógł go wypełnić.

Zaktualizowano formularz edycji.

Na wyświetlonym ekranie Edit and Create użytkownik zobaczy pusty formularz i może zacząć dodawać element. Po wybraniu przycisku Save jest wywoływana funkcja SubmitForm. Jej działanie powoduje utworzenie rekordu, a nie jego zaktualizowanie. Jeśli użytkownik wybierze przycisk Cancel, funkcja ResetForm przełącza formularz z powrotem do trybu edycji, a funkcja Back otwiera ekran do przeglądania galerii.

Usunięcie rekordu

  1. Na ekranie Display dodaj przycisk i ustaw jego właściwość Text na wartość Delete.

  2. Dla właściwości OnSelect przycisku ustaw następującą formułę:
    Remove( 'Ice Cream', Gallery1.Selected ); Back()

    Usuń rekord.

Obsługa błędów

Błędy występujące w omawianej aplikacji mogą dotyczyć następujących sytuacji: wartość pola jest nieprawidłowa, wymagane pole jest puste, nastąpiło rozłączenie z siecią lub pojawiły się inne problemy.

Jeśli z jakiegoś powodu działanie funkcji SubmitForm nie powiedzie się, komunikat o błędzie, przeznaczony dla użytkownika, będzie dostępny we właściwości Error kontrolki Formularz edycji. Te informacje powinny umożliwić użytkownikowi rozwiązanie problemu i ponowne przesłanie zmian. Może on również anulować aktualizację.

  1. Na ekranie Edit and Create dodaj kontrolkę Etykieta i przenieś ją bezpośrednio pod przycisk Save. Po wybraniu tej kontrolki w celu zapisania zmian można łatwo sprawdzić wszelkie komunikaty o błędach.

  2. Ustaw właściwość Text kontrolki Etykieta na wartość Form1.Error.

    Formularz wyświetlania z dodanym przyciskiem „Edit”

W aplikacji wygenerowanej na podstawie danych przez usługę Power Apps właściwość AutoHeight tej kontrolki ma wartość true. Dzięki temu w przypadku braku błędów kontrolka ta nie zajmuje miejsca. Właściwości Height i Y kontrolki Formularz edycji również są ustawiane dynamicznie, aby dostosować jej rozmiar po wystąpieniu błędu. Aby uzyskać więcej informacji, wygeneruj aplikację na podstawie istniejących danych i zapoznaj się z tymi właściwościami. W przypadku braku błędów rozmiar kontrolki pola tekstowego służącego do ich wyświetlania jest bardzo mały. Aby wybrać tę kontrolkę, może być konieczne otwarcie widoku Zaawansowane (dostępnego na karcie Widok).

Formularz edycji aplikacji opartej na danych z wybraną kontrolką służącą do wyświetlania tekstu błędu.

Formularz edycji aplikacji opartej na danych z wybraną kontrolką formularza.

Odśwież dane

Źródło danych jest odświeżane przy każdym otwarciu aplikacji, ale użytkownik może chcieć odświeżyć rekordy w galerii bez zamykania aplikacji. Aby umożliwić użytkownikowi ręczne odświeżenie danych, dodaj przycisk Refresh:

  1. Na ekranie z kontrolką Galeria dodaj kontrolkę Przycisk i ustaw jej właściwość Text na wartość Refresh.

  2. Ustaw właściwość OnSelect tej kontrolki na następującą formułę:
    Refresh( 'Ice Cream' )

    Odświeżanie źródła danych.

Podczas omawiania aplikacji wygenerowanej na podstawie danych przez usługę Power Apps pominęliśmy dwie kontrolki wyświetlane w górnej części ekranu przeglądania. Pozwalają one użytkownikowi wyszukiwać rekordy, sortować listę rekordów w kolejności rosnącej lub malejącej albo wykonywać obie te czynności.

Kontrolki sortowania i wyszukiwania na ekranie przeglądania.

Gdy użytkownik wybierze przycisk sortowania, kolejność sortowania galerii zostaje odwrócona. Efekt ten zapewnia zmienna kontekstowa, umożliwiająca śledzenie kolejności sortowania galerii. Po wybraniu tego przycisku następuje aktualizacja zmiennej, a kolejność jest odwracana. Właściwość OnSelect przycisku sortowania jest ustawiona na formułę: UpdateContext( {SortDescending1: !SortDescending1} )

Jeśli zmienna kontekstowa SortDescending1 nie istnieje, zostaje utworzona przez funkcję UpdateContext. Funkcja ta odczytuje wartość zmiennej i ustawia ją na przeciwną wartość logiczną przy użyciu elementu ! (operator). Zmiennej o wartości true jest przypisywana wartość false. Zmiennej o wartości false jest przypisywana wartość true.

Razem z wartością tekstową kontrolki TextSearchBox1 ta zmienna kontekstowa jest używana w formule właściwości Items kontrolki Galeria:

Sort( 
    If( IsBlank(TextSearchBox1.Text),
        Assets,
        Filter( Assets, TextSearchBox1.Text in Text(ApproverEmail) ) 
    ),
    ApproverEmail,
    If(SortDescending1, Descending, Ascending) 
)

Oto analiza tej formuły:

  • Na zewnątrz mamy funkcję Sort, która przyjmuje trzy argumenty: tabelę, pole, według którego mają być sortowane dane, oraz kolejność sortowania.

    • Kolejność sortowania jest określana na podstawie zmiennej kontekstowej, której wartość zmienia się, gdy użytkownik wybierze kontrolkę ImageSortUpDown1. Wartości true/false są przekształcane na stałe Descending i Ascending.
    • Pole, według którego ma zostać wykonane sortowanie, jest na stałe ustawione na ApproverEmail. Jeśli zmienisz pola wyświetlane w galerii, musisz również zmienić ten argument.
  • Wewnątrz formuły jest wywoływana funkcja Filter, która jako argumenty przyjmuje tabelę oraz wyrażenie oceniane dla każdego rekordu.

    • Tabelą jest źródło nieprzetworzonych danych Assets — punkt wyjścia dla operacji filtrowania lub sortowania.
    • Wyrażenie wyszukuje wystąpienie ciągu z kontrolki TextSearchBox1 w polu ApproverEmail. Dla przypomnienia, jeśli zmienisz pola wyświetlane w galerii, musisz również zaktualizować ten argument.
    • Jeśli kontrolka TextSearchBox1 jest pusta, funkcja Filter jest pomijana i wyświetlane są wszystkie rekordy.

To tylko przykład — korzystając z operatorów i funkcji Filter, Sort oraz innych funkcji, możesz tworzyć własne formuły we właściwości Items, dostosowane do potrzeb swojej aplikacji.

Wygląd ekranu

Nie omówiliśmy innych sposobów rozmieszczania kontrolek na ekranach. Wynika to z tego, że dostępnych jest wiele opcji, a wybór zależy od potrzeb konkretnej aplikacji.

Powierzchnia ekranów telefonów jest mocno ograniczona, dlatego pewnie zechcesz przeglądać, wyświetlać oraz edytować i tworzyć dane na różnych ekranach. W tym temacie do otwierania poszczególnych ekranów służą funkcje Navigate i Back.

Na tablecie przeglądanie, wyświetlanie oraz edytowanie i tworzenie rekordów może odbywać się na dwóch ekranach, a nawet na jednym. Aplikacja z jednym ekranem nie wymaga użycia funkcji Navigate ani Back.

Jeśli użytkownik pracuje na jednym ekranie, należy zapewnić brak możliwości wybrania innego rekordu w galerii, co mogłoby spowodować utratę zmian w kontrolce Formularz edycji. Aby uniemożliwić użytkownikowi wybranie innego rekordu przed zapisaniem zmian w bieżącym rekordzie, ustaw właściwość Disabled galerii na tę formułę:
EditForm.Unsaved

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).