Udostępnij przez


Edytowanie kontrolek formularzy i formularzy wyświetlania w usłudze Power Apps

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

Description

Jeśli dodasz kontrolkę Formularz wyświetlania , użytkownik może wyświetlić wszystkie pola rekordu lub tylko określone pola. Jeśli dodasz kontrolkę Formularz edycji , użytkownik będzie mógł edytować te pola, utworzyć rekord i zapisać te zmiany w źródle danych.

Przykładowe kontrolki formularza i widoku formularza.

Jeśli dodasz kontrolkę Galeria , możesz ją skonfigurować tak, aby wyświetlała tabelę w źródle danych, a następnie skonfigurować formularz tak, aby pokazywał dowolny rekord wybrany przez użytkownika w galerii. Możesz również dodać co najmniej jedną kontrolkę Przycisk , którą użytkownik może wybrać, aby zapisać edycje, anulować edycje i utworzyć rekord. Używając kontrolek razem, można utworzyć kompletne rozwiązanie.

Ograniczenia

Kontrolka formularza ma następujące ograniczenia:

  • Nie można kopiować i wklejać formularzy do kart danych. Zapobiega to tworzeniu pewnych kombinacji kontrolek, które zagrażają stabilności i wydajności aplikacji.

Wybór rekordu

Dla dowolnego typu formularza należy ustawić jej właściwość DataSource na tabelę rekordów i ustawić właściwość Item formularza w celu wyświetlenia określonego rekordu w tej tabeli. Można na przykład ustawić właściwość Item formularza na właściwość SelectedItemkontrolki Galeria . Gdy użytkownik wybierze rekord w galerii, ten sam rekord pojawi się w formularzu, z wyjątkiem tego, że formularz może wyświetlać więcej pól. Jeśli użytkownik wróci do galerii i wybierze inny rekord, zmieni się właściwość SelectedItem galerii. Ta zmiana powoduje zaktualizowanie właściwości Item formularza, która następnie pokazuje nowo wybrany rekord.

Możesz również ustawić właściwość Item formularza przy użyciu kontrolki Lista rozwijana , jak opisano Wyświetlanie, edytowanie lub dodawanie rekordu albo 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 Accounts w usłudze Microsoft Dataverse:

First(Accounts)

Lookup(Accounts, "Fabrikam" in name)

Każda kontrolka formularza zawiera co najmniej jedną kontrolkę Karta . Ustawiając właściwość DataField karty, należy określić, które pole jest wyświetlane na karcie i inne szczegóły.

Tworzenie rekordu

Gdy kontrolka Formularz edycji jest w trybie edycji , użytkownik może zaktualizować rekord określony we właściwości Item formularza. Jeśli zostanie sprawdzona, właściwość Mode zwraca wartość Edit.If inspected, the Mode property (Tryb) zwraca wartość Edit (Edytuj).

Jeśli jednak kontrolka Formularz edycji jest w trybie Nowy , właściwość Item jest ignorowana. Formularz nie pokazuje istniejącego rekordu; Zamiast tego wartości w każdym polu są zgodne z wartościami domyślnymi źródła danych, za pomocą którego skonfigurowano formularz. Funkcja NewForm powoduje przełączenie formularza do tego trybu.

Można na przykład ustawić właściwość Text przycisku, aby wyświetlić właściwość New i onSelect na formułę zawierającą funkcję NewForm . Jeśli użytkownik wybierze ten przycisk, formularz przejdzie do trybu Nowy , aby użytkownik mógł utworzyć rekord rozpoczynający się od znanych wartości.

Formularz przełącza się z powrotem do trybu edycji , jeśli funkcja ResetForm zostanie uruchomiona lub funkcja SubmitForm zostanie pomyślnie uruchomiona.

  • Możesz ustawić właściwość Text przycisku, aby wyświetlić właściwość Cancel i jego Właściwość OnSelect na formułę zawierającą funkcję ResetForm . Jeśli użytkownik wybierze ten przycisk, wszelkie zmiany w toku zostaną odrzucone, a wartości w formularzu ponownie pasują do wartości domyślnych źródła danych.
  • Możesz ustawić właściwość Text przycisku, aby wyświetlić właściwość Zapisz zmiany i jej właściwość OnSelect na formułę zawierającą funkcję SubmitForm . Jeśli użytkownik wybierze ten przycisk, a źródło danych zostanie zaktualizowane, wartości w formularzu zostaną zresetowane do wartości domyślnych źródła danych.

Zapisywanie zmian

Jeśli utworzysz przycisk 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żna skonfigurować kontrolkę Obraz lub inną kontrolkę w celu wykonania tego samego zadania, o ile skonfigurujesz tę kontrolkę za pomocą funkcji SubmitForm . W każdym razie właściwości Error, ErrorKind, OnSuccess i OnFailure dostarczają opinię na temat wyniku.

Po uruchomieniu funkcji SubmitForm najpierw weryfikuje dane, które użytkownik chce przesłać. Jeśli wymagane pole nie zawiera wartości lub inna wartość nie jest zgodna z innym ograniczeniem, właściwości ErrorKind są ustawione, a formuła OnFailure jest uruchamiana. Możesz skonfigurować przycisk Zapisz zmiany lub inną kontrolkę, aby użytkownik mógł go wybrać tylko wtedy, gdy dane są prawidłowe (czyli jeśli właściwość Valid formularza ma wartość true). Należy pamiętać, że użytkownik musi nie tylko rozwiązać problem, ale także 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 przechodzą walidację, funkcja SubmitForm wysyła je do źródła danych, co może zająć trochę czasu w zależności od opóźnienia sieci.

  • Jeśli przesyłanie zakończy się pomyślnie, właściwość Error zostanie wyczyszczone, właściwość ErrorKind zostanie ustawiona na ErrorKind.None, a formuła OnSuccess zostanie uruchomiona. Jeśli użytkownik utworzył rekord (czyli jeśli formularz był wcześniej w trybie Nowy ), formularz zostanie przełączony do trybu Edycji , aby użytkownik mógł edytować nowo utworzony rekord lub inny.
  • Jeśli przesyłanie nie powiedzie się, właściwość Error zawiera przyjazny dla użytkownika komunikat o błędzie ze źródła danych, wyjaśniając problem. Właściwość ErrorKind jest odpowiednio ustawiana w zależności od problemu, a formuła OnFailure jest uruchamiana.

Niektóre źródła danych mogą wykryć, kiedy dwie osoby próbują zaktualizować ten sam rekord w tym samym czasie W tym przypadku właściwość ErrorKind jest ustawiona na ErrorKind.Conflict, a rozwiązaniem jest odświeżenie źródła danych przy użyciu zmian innego użytkownika i ponowne zastosowania zmiany wprowadzonej przez tego użytkownika.

Wskazówka

Jeśli zaoferujesz przycisk Anuluj w formularzu, aby użytkownik mógł porzucić zmiany w toku, dodaj funkcję ResetForm do właściwości OnSelect przycisku, nawet jeśli ta właściwość zawiera również funkcję Navigate , aby zmienić ekrany. W przeciwnym razie formularz zachowa zmiany użytkownika.

Układ

Domyślnie karty są umieszczane w jednej kolumnie dla aplikacji na telefon i trzy kolumny dla aplikacji tabletu. Możesz określić, ile kolumn ma formularz i czy karty powinny być przyciągane podczas konfigurowania formularza. Te ustawienia nie są uwidocznione jako właściwości, ponieważ są używane tylko do ustawiania właściwości X, Y i Width kart.

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

Właściwości klucza

DataSource — źródło danych zawierające rekord, który będzie pokazywany, edytowany lub tworzony przez użytkownika.

  • Jeśli ta właściwość nie zostanie ustawiona, użytkownik nie będzie mógł wyświetlać, edytować ani tworzyć rekordu, a nie podano żadnych dodatkowych metadanych ani walidacji.

DefaultMode — początkowy tryb kontrolki formularza. Zobacz opis trybu poniżej, aby uzyskać dopuszczalne wartości i ich znaczenie.

DisplayMode — tryb używany dla kart danych i kontrolek w kontrolce formularza.

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

Mode Tryb wyświetlania Description
FormMode.Edit DisplayMode.Edit Karty danych i kontrolki są edytowalne, gotowe do akceptowania zmian w rekordzie.
FormMode.New DisplayMode.Edit Karty danych i kontrolki są edytowalne, gotowe do zaakceptowania nowego rekordu.
FormMode.View DisplayMode.View Karty danych i kontrolki nie są edytowalne i zoptymalizowane pod kątem wyświetlania.

Error — przyjazny dla użytkownika komunikat o błędzie wyświetlany dla tego formularza, gdy funkcja SubmitForm zakończy się niepowodzeniem.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji .
  • Ta właściwość zmienia się tylko wtedy, gdy zostanie uruchomiona funkcja SubmitForm, EditForm lub ResetForm .
  • Jeśli wystąpi żaden błąd, ta właściwość jest pusta, a właściwość ErrorKind jest ustawiona na ErrorKind.None.
  • Jeśli to możliwe, zwrócony komunikat o błędzie będzie znajdować się 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 — jeśli wystąpi błąd podczas uruchamiania funkcji SubmitForm , rodzaj błędu, który wystąpił.

  • Dotyczy tylko kontrolki Formularz edycji .
  • Ta właściwość ma tę samą wyliczenie co funkcja Errors . Kontrolka Formularz edycji może zwracać następujące wartości:
ErrorKind Description
ErrorKind.Conflict Inny użytkownik zmienił ten sam rekord, powodując konflikt zmian. Wykonaj funkcję Refresh , aby ponownie załadować rekord i ponów próbę zmiany.
ErrorKind.None Błąd jest nieznany.
ErrorKind.Sync Źródło danych zgłosiło błąd. Sprawdź właściwość Error , aby uzyskać więcej informacji.
ErrorKind.Validation Wykryto ogólny problem z walidacją.

Item — rekord w źródle danych , który użytkownik będzie pokazywał lub edytował.

LastSubmit — ostatni pomyślnie przesłany rekord, w tym wszystkie 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 dowolne pola, takie jak pole IDENTYFIKATOR z unikatową liczbą, właściwość LastSubmit będzie miała 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 .

Mode Description
FormMode.Edit Użytkownik może edytować rekord przy użyciu formularza. Wartości na kartach formularza są wstępnie wypełniane istniejącym rekordem, aby użytkownik zmienił się. Jeśli funkcja SubmitForm zostanie pomyślnie uruchomiona, istniejący rekord zostanie zmodyfikowany.
FormMode.New Użytkownik może utworzyć rekord przy użyciu formularza. Wartości w kontrolkach formularza są wstępnie wypełniane wartościami domyślnymi dla rekordu źródła danych. Jeśli funkcja SubmitForm zostanie pomyślnie uruchomiona, zostanie utworzony rekord.
FormMode.View Użytkownik może wyświetlić rekord przy użyciu formularza. Wartości w kontrolkach formularza są wstępnie wypełniane wartościami domyślnymi dla rekordu źródła danych.

Formularz przełącza się z trybu Nowy na Tryb edycji , gdy nastąpi dowolna z tych zmian:

  • Formularz zostanie pomyślnie przesłany i zostanie utworzony rekord. Jeśli galeria ma automatycznie przenieść wybór do tego nowego rekordu, formularz będzie w trybie Edycji dla utworzonego rekordu, aby użytkownik mógł wprowadzić dodatkowe zmiany.
  • Zostanie uruchomiona funkcja EditForm .
  • Zostanie uruchomiona funkcja ResetForm . Na przykład użytkownik może wybrać przycisk Anuluj , który został skonfigurowany przy użyciu tej funkcji.

OnFailure — akcje do wykonania, gdy operacja danych nie powiodła się.

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

OnReset — akcje do wykonania po zresetowaniu kontrolki Formularz edycji .

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

OnSuccess — akcje do wykonania, gdy operacja danych zakończyła się pomyślnie.

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

Niezapisane — prawda, 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 .
  • Użyj tej właściwości, aby ostrzec użytkownika przed utratą 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, podobnie, wyłącz operacje odświeżania.

Updates — wartości, które mają być zapisywane z powrotem w źródle danych dla rekordu załadowanego w kontrolce formularza.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji .
  • Użyj tej właściwości, aby wyodrębnić wartości pól z kart w kontrolce. 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 uwidocznionej przez połączenie. Nie musisz używać tej właściwości, jeśli używasz funkcji SubmitForm .
  • Ta właściwość zwraca rekord wartości. Jeśli na przykład kontrolka formularza zawiera kontrolki karty dla pól Nazwa i Ilość , a wartości właściwości Update dla tych kart zwracają odpowiednio wartość "Widget" i 10, właściwość Updates kontrolki formularza zwróci { Name: "Widget", Quantity: 10 }.

Prawidłowe — czy kontrolka Karta lub Formularz edycji zawiera prawidłowe wpisy, które są gotowe do przesłania do źródła danych.

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

  • Właściwość Valid kontrolki Formularz agreguje właściwości Valid wszystkich kontrolek Karta w formularzu. Właściwość Valid formularza jest prawdziwa tylko wtedy, gdy dane we wszystkich kartach w tym formularzu są prawidłowe; w przeciwnym razie właściwość Valid formularza ma wartość false.

  • Aby włączyć przycisk zapisywania zmian tylko wtedy, gdy dane w formularzu są prawidłowe, ale nie zostały jeszcze 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 — czy obramowanie kontrolki to Solid, Dashed, Dotted lub None.

BorderThickness — grubość obramowania kontrolki.

Fill – kolor tła kontrolki.

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

Visible — określa, czy kontrolka jest wyświetlana, 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ą kontenera nadrzędnego (ekran, jeśli nie ma kontenera nadrzędnego).

Y — odległość między górną krawędzią kontrolki a górną krawędzią kontenera nadrzędnego (ekran, jeśli nie ma 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 etykiety.