Nowe kontrolki Formularz edycji i Formularz wyświetlania w Power Apps

Wyświetlanie, edytowanie i tworzenie rekordu w źródle danych.

Opis

Jeśli dodasz kontrolkę Formularz wyświetlania, użytkownik może wyświetlić wszystkie pola rekordu lub tylko określone przez Ciebie pola. Jeśli dodasz kontrolkę Formularz edycji, użytkownik może edytować te pola, tworzyć rekord i zapisywać te zmiany w źródle danych.

Przykładowe kontrolki formularza i widoku formularza.

Jeśli dodasz kontrolkę Galeria, możesz ją skonfigurować do pokazywania tabeli w źródle danych, a następnie skonfigurować formularz tak, aby wyświetlić dowolny rekord wybrany przez użytkownika w galerii. Możesz też dodać przynajmniej jedną kontrolkę Przycisk, którą użytkownik może wybrać, aby zapisać zmiany, anulować je i utworzyć rekord. Używając kontrolek łącznie, użytkownik może utworzyć kompletne rozwiązanie.

Wybór rekordów

Dla dowolnego typu formularza ustaw jego właściwość DataSource na tabelę rekordów, a właściwość Item formularza tak, aby wyświetlała określony rekord w tej tabeli. Na przykład możesz ustawić właściwość Item formularza na właściwość SelectedItem kontrolki Galeria. Gdy użytkownik wybierze rekord w galerii, ten sam rekord pojawi się w formularzu, przy czym w formularzu można wyświetlić więcej pól. Jeśli użytkownik wróci do galerii i wybierze inny rekord, zmienia się właściwość SelectedItem galerii. Ta zmiana aktualizuje właściwość Item formularza, który następnie pokazuje nowo wybrany rekord.

Można również ustawić właściwość Item przy użyciu kontrolki Menu rozwijane, jak opisano w temacie Wyświetlanie, edytowanie lub dodawanie rekordu, lub funkcji, takiej jak Lookup lub First. Na przykład można ustawić właściwość Item na jedną z tych formuł, aby wyświetlić wpis Fabrikam w tabeli Konta w Microsoft Dataverse:

First(Accounts)

Lookup(Accounts, "Fabrikam" in name)

Każda kontrolka formularza zawiera przynajmniej jedną kontrolkę Karta. Ustawiając właściwość DataField karty, możesz określić pole, które karta pokazuje, oraz inne szczegóły.

Utwórz rekord

Gdy kontrolka Formularz edycji jest w trybie Edycja, użytkownik może zaktualizować rekord, który jest określony we właściwości Item formularza. W razie inspekcji właściwość Mode zwraca wartość Edycja.

Jednak gdy kontrolka Formularz edycji jest w trybie Nowy, właściwość Item jest ignorowana. Formularz nie wyświetla istniejącego rekordu, ale zamiast niego wartości w każdym polu są zgodne z wartościami domyślnymi źródła danych, za pomocą którego formularz został skonfigurowany. Funkcja NewForm powoduje, że formularz przełączyć się na ten tryb.

Na przykład możesz ustawić właściwość Text przycisku, aby wyświetlał właściwość Nowy i OnSelect dla formuły zawierającej funkcję NewForm. Jeśli użytkownik wybierze ten przycisk, formularz przełącza się w tryb Nowy, dzięki czemu użytkownik może utworzyć rekord, poczynając od znanych wartości.

Formularz przełączy się z powrotem w tryb Edycja, jeśli funkcja ResetForm jest uruchomiona albo funkcja SubmitForm została pomyślnie uruchomiona.

  • Możesz ustawić właściwość Text przycisku, aby wyświetlał napis Anuluj i jego właściwość OnSelect dla formuły zawierającej funkcję ResetForm. Jeśli użytkownik wybierze ten przycisk, wszelkie zmiany w toku zostaną odrzucone i wartości w formularzu będą ponownie zgodne z wartościami domyślnymi źródła danych.
  • Możesz ustawić właściwość Text przycisku, aby wyświetlał napis Zapisz zmiany i jego właściwość OnSelect dla formuły zawierającej funkcję SubmitForm. Jeśli użytkownik wybierze ten przycisk i źródło danych zostanie zaktualizowane, wartości w formularzu zostaną zresetowane do wartości domyślnych źródła danych.

Zapisywanie zmian

W przypadku utworzenia przycisku Zapisz zmiany, zgodnie z opisem w poprzedniej sekcji, użytkownik może utworzyć lub zaktualizować rekord, a następnie wybrać ten przycisk, aby zapisać te zmiany w źródle danych. Zamiast tego możesz skonfigurować kontrolkę Obraz lub niektóre inne kontrolki do wykonania tego samego zadania, dopóki będziesz konfigurować tę kontrolkę za pomocą funkcji SubmitForm. W każdym przypadku właściwości Error, ErrorKind, OnSuccess i OnFailure udostępniają zwrotne informacje o wyniku.

Gdy jest uruchomiona funkcja SubmitForm, najpierw weryfikuje ona dane, które użytkownik chce przesłać. Jeśli wymagane pole nie zawiera wartości lub inna wartość nie jest zgodna z pewnymi innymi ograniczeniami, zostaną ustawione właściwości ErrorKind i zostanie uruchomiona formuła OnFailure. Możesz skonfigurować przycisk Zapisz zmiany lub inną kontrolkę tak, aby użytkownik mógł wybrać go tylko wtedy, gdy dane są prawidłowe (to znaczy, jeśli właściwość Valid formularza ma wartość prawda). Należy pamiętać, że użytkownik musi nie tylko rozwiązać ten problem, ale również ponownie wybrać przycisk Zapisz zmiany (lub odrzucić zmiany, wybierając przycisk Anuluj zgodnie z wcześniejszym opisem), aby zresetować właściwości Error i ErrorKind.

Jeśli dane zostaną pozytywnie zweryfikowane, funkcja SubmitForm wysyła je do źródła danych, co może zająć pewien czas w zależności od opóźnienia sieci.

  • Jeśli przesyłanie zakończy się powodzeniem, właściwość Error zostanie wyczyszczona, właściwość ErrorKind zostanie ustawiona na ErrorKind.None i zostanie uruchomiona formuła OnSuccess. Jeśli użytkownik utworzył rekord (to znaczy, jeśli formularz był wcześniej w trybie Nowy), formularz przełączy się w tryb Edycja, dzięki czemu użytkownik może edytować nowo utworzony lub inny rekord.
  • W przypadku niepowodzenia przesyłania właściwość Error zawiera przyjazny dla użytkownika komunikat o błędzie ze źródła danych, który wyjaśnia problem. Właściwość ErrorKind zostanie odpowiednio ustawiona, w zależności od problemu, i zostanie uruchomiona formuła OnFailure.

Niektóre źródła danych mogą wykrywać, gdy dwie osoby próbują zaktualizować ten sam rekord w tym samym czasie. W takim przypadku właściwość ErrorKind jest ustawiana na wartość ErrorKind.Conflict, a rozwiązaniem jest odświeżenie źródła danych z użyciem zmian innego użytkownika i ponowne zastosowanie zmiany wprowadzonej przez tego użytkownika.

Porada

Jeśli w swoim formularzu udostępniasz przycisk Anuluj, dzięki czemu użytkownik może porzucić zmiany w toku, dodaj funkcję ResetForm do właściwości OnSelect przycisku, nawet jeśli właściwość zawiera również funkcję Navigate, aby zmienić ekrany. W przeciwnym razie formularz zachowa zmiany wprowadzone przez użytkownika.

Układ

Domyślnie karty są umieszczane w jednej kolumnie w aplikacji na telefon i w trzech kolumnach w aplikacji na tablet. Możesz określić liczbę kolumn formularza i to, czy karty powinny być przyciągane do nich w miarę konfigurowania formularza. Te ustawienia nie są widoczne jako właściwości, ponieważ są używane jedynie do ustawienia właściwości X, Y i Width kart.

Aby uzyskać więcej informacji, zobacz Omówienie układu formularza danych.

Kluczowe właściwości

DataSource — źródło danych zawierające rekord, który użytkownik wyświetli, zmodyfikuje lub utworzy.

  • Jeśli nie ustawisz tej właściwości, użytkownik nie może wyświetlić, zmodyfikować ani utworzyć rekordu i nie są dostępne żadne dodatkowe metadane ani weryfikacje.

DefaultMode — początkowy tryb kontrolki formularza. Zobacz opis Mode poniżej, aby zapoznać się z dopuszczalnymi wartościami i ich znaczeniami.

DisplayMode — tryb do zastosowania do kart i kontrolek danych w kontrolce formularza.

Pochodzi od właściwości Mode i nie można jej ustawić niezależnie:

Tryb DisplayMode Opis
FormMode.Edit DisplayMode.Edit Karty danych i kontrolki są dostępne do edycji i za ich pomocą można wprowadzić zmiany w rekordzie.
FormMode.New DisplayMode.Edit Karty danych i kontrolki są dostępne do edycji i za ich pomocą można utworzyć nowy rekord.
FormMode.View DisplayMode.View Karty danych i formanty nie umożliwiają edytowania i są zoptymalizowane do wyświetlania.

Error — przyjazny dla użytkownika komunikat o błędzie do wyświetlenia dla tego formularza, kiedy wykonanie funkcji SubmitForm kończy się niepowodzeniem.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.
  • Ta właściwość ulegnie zmianie tylko wtedy, gdy zostanie uruchomiona funkcja SubmitForm, EditForm lub ResetForm.
  • Jeśli nie występuje błąd, ta właściwość jest pusta i właściwość ErrorKind jest ustawiona na ErrorKind.None.
  • Jeśli to możliwe, zwracany komunikat o błędzie będzie w języku użytkownika. Niektóre komunikaty o błędach pochodzą bezpośrednio ze źródła danych i mogą nie być w języku użytkownika.

ErrorKind — w przypadku wystąpienia błędu, gdy jest uruchomiona funkcja SubmitForm, zawiera rodzaj błędu, który wystąpił.

  • Dotyczy tylko kontrolki Formularz edycji.
  • Ta właściwość ma takie samo wyliczenie jak funkcja Errors. Kontrolka Formularz edycji może zwracać następujące wartości:
ErrorKind Opis
ErrorKind.Conflict Inny użytkownik zmienił ten sam rekord, powodując konflikt zmiany. Wykonaj funkcję Refresh, aby ponownie załadować rekord, i spróbuj ponownie wprowadzić zmiany.
ErrorKind.None Błąd jest nieznanego typu.
ErrorKind.Sync Źródło danych zgłosiło błąd. Sprawdź właściwość Error, aby uzyskać więcej informacji.
ErrorKind.Validation Wykryto problem ogólnej walidacji.

Item — rekord we właściwości DataSource, który użytkownik wyświetli lub zmodyfikuje.

LastSubmit — ostatni pomyślnie przesłany rekord, w tym wszelkie pola wygenerowane przez serwer.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.
  • Jeśli źródło danych automatycznie generuje lub oblicza jakiekolwiek pola, takie jak pole Identyfikator zwierające unikatowy numer, właściwość LastSubmit będzie mieć tę nową wartość po pomyślnym uruchomieniu funkcji SubmitForm.
  • Wartość tej właściwości jest dostępna w formule OnSuccess.

Mode — kontrolka jest w trybie Edycja lub Nowy.

Tryb Opis
FormMode.Edit Użytkownik może edytować rekord za pomocą formularza. Wartości na kartach formularza są wstępnie wypełniane przy użyciu istniejącego rekordu, a użytkownik może to zmienić. Jeśli funkcja SubmitForm zostanie wykonana pomyślnie, istniejący rekord zostanie zmodyfikowany.
FormMode.New Użytkownik może utworzyć rekord za pomocą formularza. Wartości kontrolek formularza są wstępnie wypełniane przy użyciu ustawień domyślnych dla rekordu źródła danych. Jeśli funkcja SubmitForm zostanie wykonana pomyślnie, zostanie utworzony rekord.
FormMode.View Użytkownik może wyświetlić rekord za pomocą formularza. Wartości kontrolek formularza są wstępnie wypełniane przy użyciu ustawień domyślnych dla rekordu źródła danych.

Formularz przechodzi z trybu Nowy w tryb Edycja, gdy wystąpi którakolwiek z następujących zmian:

  • Formularz zostanie pomyślnie przesłany i zostanie utworzony rekord. Jeśli galeria jest ustawiona na automatyczne przenoszenie wyboru na ten nowy rekord, formularz będzie w trybie Edycja dla utworzonego rekordu, dzięki czemu użytkownik może wprowadzić dodatkowe zmiany.
  • Jest uruchomiona funkcja EditForm.
  • Jest uruchomiona funkcja ResetForm. Na przykład użytkownik może wybrać przycisk Anuluj, który został skonfigurowany za pomocą tej funkcji.

OnFailure — Akcje do wykonania w przypadku, gdy operacja danych nie powiodła się.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.

OnReset — Akcje do wykonania po zresetowaniu formantu Formularz edycji.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.

OnSuccess — Akcje do wykonania w przypadku, gdy operacja danych powiodła się.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.

Unsaved – ma wartość true, jeśli kontrolka Formularz edycji zawiera zmiany użytkownika, które nie zostały zapisane.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.
  • Tej właściwości należy użyć, aby ostrzec użytkownika przed utratą wszelkich niezapisanych zmian. Aby uniemożliwić użytkownikowi wybranie innego rekordu w kontrolce Galeria przed zapisaniem zmian w bieżącym rekordzie, ustaw właściwość Disabled galerii na Form.Unsaved i, analogicznie, wyłącz operacje odświeżania.

Updates — wartości do zapisania z powrotem do źródła danych dla rekordu załadowanego w kontrolce formularza.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.
  • Ta właściwość służy do wyodrębniania wartości pól z kart wewnątrz kontrolki. Następnie możesz użyć tych wartości, aby ręcznie zaktualizować źródło danych za pomocą wywołania funkcji Patch lub innej metody udostępnianej przez połączenie. Nie trzeba używać tej właściwości, jeśli używasz funkcji SubmitForm.
  • Ta właściwość zwraca rekord z wartościami. Na przykład, jeśli kontrolka formularza zawiera kontrolki karty w polach Name i Ilość i wartości właściwości Update tych kart zwracają odpowiednio „Widżet” i 10, to właściwość Updates kontrolki formularza zwróci { Name: "Widżet", Ilość: 10 }.

Valid – czy kontrolka Karta lub Formularz edycji zawiera prawidłowe wpisy, gotowe do wysłania do źródła danych.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.

  • Właściwość Valid kontrolki Form agreguje właściwości Valid wszystkich kontrolek Karta w formularzu. Właściwość Valid formularza ma wartość prawda tylko, gdy dane na wszystkich kartach w tym formularzu są poprawne; w przeciwnym razie właściwość Valid formularza ma wartość fałsz.

  • Aby włączyć przycisk zapisywania zmian tylko wtedy, gdy dane w formularzu są prawidłowe, ale jeszcze nie zostały przesłane, ustaw właściwość DisplayMode przycisku na następującą formułę:

    SubmitButton.DisplayMode = If(IsBlank( Form.Error ) || Form.Valid, DisplayMode.Edit, DisplayMode.Disabled)

Dodatkowe właściwości

BorderColor – kolor obramowania kontrolki.

BorderStyle – rodzaj obramowania kontrolki: Ciągłe, Kreskowane, Kropkowane lub Brak.

BorderThickness – grubość obramowania kontrolki.

Fill – kolor tła kontrolki.

Height – odległość między górną i dolną krawędzią kontrolki.

Visible – czy kontrolka jest widoczna, czy ukryta.

Width – odległość między lewą i prawą krawędzią kontrolki.

X — odległość między lewą krawędzią kontrolki a lewą krawędzią jej kontenera nadrzędnego (ekranu, jeśli brak kontenera nadrzędnego).

Y — odległość między górną krawędzią kontrolki a górną krawędzią kontenera nadrzędnego (ekranu, jeśli brak kontenera nadrzędnego).

Więcej informacji

Wytyczne dotyczące ułatwień dostępu

Obsługa czytników ekranu

  • Rozważ dodanie nagłówka do formularza przy użyciu Etykieta.

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).