Kontrolki Formularz edycji i Formularz wyświetlania w usłudze PowerAppsEdit form and Display form controls in PowerApps

Wyświetlanie, edytowanie i tworzenie rekordu w źródle danych.Display, edit, and create a record in a data source.

OpisDescription

Jeśli dodasz kontrolkę Formularz wyświetlania, użytkownik może wyświetlić wszystkie pola rekordu lub tylko określone przez Ciebie pola.If you add a Display form control, the user can display all fields of a record or only the fields that you specify. Jeśli dodasz kontrolkę Formularz edycji, użytkownik może edytować te pola, tworzyć rekord i zapisywać te zmiany w źródle danych.If you add an Edit form control, the user can edit those fields, create a record, and save those changes to a data source.

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.If you add a Gallery control, you can configure it to show a table in a data source and then configure a form to show whichever record the user selects in the gallery. Możesz też dodać przynajmniej jedną kontrolkę Przycisk, którą użytkownik może wybrać, aby zapisać zmiany, anulować je i utworzyć rekord.You can also add one or more Button controls that the user can select to save edits, cancel edits, and create a record. Używając kontrolek łącznie, użytkownik może utworzyć kompletne rozwiązanie.By using controls together, you can create a complete solution.

Wybór rekordówRecord selection

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.For either type of form, you set its DataSource property to a table of records, and you set the form's Item property to show a specific record in that table. Na przykład możesz ustawić właściwość Item formularza na właściwość SelectedItem kontrolki Galeria.For example, you can set the Item property of a form to the SelectedItem property of a Gallery control. 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.When the user selects a record in the gallery, the same record appears in the form, except that the form can show more fields. Jeśli użytkownik wróci do galerii i wybierze inny rekord, zmienia się właściwość SelectedItem galerii.If the user returns to the gallery and selects a different record, the SelectedItem property of the gallery changes. Ta zmiana aktualizuje właściwość Item formularza, który następnie pokazuje nowo wybrany rekord.This change updates the Item property of the form, which then shows the newly selected record.

Każda kontrolka formularza zawiera przynajmniej jedną kontrolkę Karta.Each form control contains one or more Card controls. Ustawiając właściwość DataField karty, możesz określić pole, które karta pokazuje, oraz inne szczegóły.By setting the DataField property of a card, you specify which field that card shows and other details.

Tworzenie rekorduCreate a record

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.When an Edit form control is in Edit mode, the user can update the record that's specified in the form's Item property. W razie inspekcji właściwość Mode zwraca wartość Edycja.If inspected, the Mode property returns Edit.

Jednak gdy kontrolka Formularz edycji jest w trybie Nowy, właściwość Item jest ignorowana.When an Edit form control is in New mode, however, the Item property is ignored. 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.The form doesn't show an existing record; instead, the values in each field match the default values of the data source with which you configured the form. Funkcja NewForm powoduje, że formularz przełączyć się na ten tryb.The NewForm function causes a form to switch to this mode.

Na przykład możesz ustawić właściwość Text przycisku, aby wyświetlał właściwość New i OnSelect dla formuły zawierającej funkcję NewForm.For example, you can set the Text property of a button to show New and its OnSelect property to a formula that includes the NewForm function. 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.If the user selects that button, the form switches to New mode so that the user can create a record starting with known values.

Formularz przełączy się z powrotem w tryb Edycja, jeśli funkcja ResetForm jest uruchomiona albo funkcja SubmitForm została pomyślnie uruchomiona.A form switches back to Edit mode if either the ResetForm function runs or the SubmitForm function runs successfully.

  • 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.You can set the Text property of a button to show Cancel and its OnSelect property to a formula that includes the ResetForm function. 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.If the user selects that button, any changes in progress are discarded, and the values in the form, once again, match the default values of the data source.
  • 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.You can set the Text property of a button to show Save changes and its OnSelect property to a formula that includes the SubmitForm function. 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.If the user selects that button and the data source is updated, the values in the form are reset to the default values of the data source.

Zapisywanie zmianSave changes

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.If you create a Save changes button as the previous section describes, the user can create or update a record and then select that button to save those changes to the data source. 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.You could, instead, configure an Image control or some other control to perform the same task, as long as you configure that control with the SubmitForm function. W każdym przypadku właściwości Error, ErrorKind, OnSuccess i OnFailure udostępniają zwrotne informacje o wyniku.In any case, the Error, ErrorKind, OnSuccess, and OnFailure properties provide feedback on the outcome.

Gdy jest uruchomiona funkcja SubmitForm, najpierw weryfikuje ona dane, które użytkownik chce przesłać.When the SubmitForm function runs, it first validates the data that user wants to submit. 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.If a required field doesn't contain a value or another value doesn't conform to some other constraint, the ErrorKind properties are set, and the OnFailure formula runs. 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ść true).You can configure the Save changes button or other control so that the user can select it only if the data is valid (that is, if the Valid property of the form is true). 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.Note that the user must not only correct the problem but also select the Save changes button again (or discard the changes by selecting a Cancel button, as described earlier) to reset the Error and ErrorKind properties.

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.If the data passes validation, SubmitForm sends it to the data source, which can take some time depending on network latency.

  • 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.If the submission succeeds, the Error property is cleared, the ErrorKind property is set to ErrorKind.None, and the OnSuccess formula runs. 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.If the user created a record (that is, if the form was previously in New mode), the form is switched to Edit mode so that the user can edit the newly created record or a different one.
  • 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.If the submission fails, the Error property contains a user-friendly error message from the data source, explaining the problem. Właściwość ErrorKind zostanie odpowiednio ustawiona, w zależności od problemu, i zostanie uruchomiona formuła OnFailure.The ErrorKind property is set appropriately, depending on the issue, and the OnFailure formula runs.

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.Some data sources can detect when two people try to update the same record at the same time In this case, ErrorKind is set to ErrorKind.Conflict, and the remedy is to refresh the data source with the other user's changes and reapply the change made by this user.

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.Tip: If you offer a Cancel button on your form so that the user can abandon changes in progress, add the ResetForm function to the button's OnSelect property even that property also contains a Navigate function to change screens. W przeciwnym razie formularz zachowa zmiany wprowadzone przez użytkownika.Otherwise, the form will retain the user's changes.

UkładLayout

Domyślnie karty są umieszczane w jednej kolumnie w aplikacji na telefon i w trzech kolumnach w aplikacji na tablet.By default, cards are placed in a single column for phone apps and three columns for tablet apps. Możesz określić liczbę kolumn formularza i to, czy karty powinny być przyciągane do nich w miarę konfigurowania formularza.You can specify how many columns a form has and whether cards should snap to them as you configure the form. 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.These settings aren't exposed as properties because they're used only to set the X, Y, and Width properties of the cards.

Aby uzyskać więcej informacji, zobacz Omówienie układu formularza danych.For more information, see Understand data form layout.

Kluczowe właściwościKey properties

DataSource — źródło danych zawierające rekord, który użytkownik wyświetli, zmodyfikuje lub utworzy.DataSource – The data source that contains the record that the user will show, edit, or create.

  • 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.If you don't set this property, the user can't show, edit, or create a record, and no additional metadata or validation is provided.

DefaultMode — początkowy tryb kontrolki formularza.DefaultMode - The initial mode of the form control. Zobacz opis trybu poniżej, aby zapoznać się z dopuszczalnymi wartościami i ich znaczeniami.See the description of Mode below for the acceptable values and their meanings.

DisplayMode — tryb do zastosowania do kart i kontrolek danych w kontrolce formularza.DisplayMode - The mode to use for data cards and controls within the form control.

Pochodzi od właściwości Mode i nie można jej ustawić niezależnie:Derived from the Mode property based and cannot be set independently:

TrybMode DisplayModeDisplayMode OpisDescription
FormMode.EditFormMode.Edit DisplayMode.EditDisplayMode.Edit Karty danych i kontrolki umożliwiają edytowanie i są gotowe do akceptacji zmian w rekordzie.Data cards and controls are editable, ready to accept changes to a record.
FormMode.NewFormMode.New DisplayMode.EditDisplayMode.Edit Karty danych i kontrolki umożliwiają edytowanie i są gotowe do akceptacji nowego rekordu.Data cards and controls are editable, ready to accept a new record.
FormMode.ViewFormMode.View DisplayMode.ViewDisplayMode.View Karty danych i formanty nie umożliwiają edytowania i są zoptymalizowane do wyświetlania.Data cards and controls are not editable and optimized for viewing.

Error — przyjazny dla użytkownika komunikat o błędzie do wyświetlenia dla tego formularza, kiedy wykonanie funkcji SubmitForm kończy się niepowodzeniem.Error – A user friendly error message to display for this form when the SubmitForm function fails.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.This property applies only to the Edit form control.
  • Ta właściwość ulegnie zmianie tylko wtedy, gdy zostanie uruchomiona funkcja SubmitForm, EditForm lub ResetForm.This property changes only when the SubmitForm, EditForm, or ResetForm function runs.
  • Jeśli nie występuje błąd, ta właściwość jest pusta i właściwość ErrorKind jest ustawiona na ErrorKind.None.If no error occurs, this property is blank, and ErrorKind is set to ErrorKind.None.
  • Jeśli to możliwe, zwracany komunikat o błędzie będzie w języku użytkownika.When possible, the error message returned will be in the user's language. Niektóre komunikaty o błędach pochodzą bezpośrednio ze źródła danych i mogą nie być w języku użytkownika.Some error messages come from the data source directly and may not be in the user's language.

ErrorKind — w przypadku wystąpienia błędu, gdy jest uruchomiona funkcja SubmitForm, zawiera rodzaj błędu, który wystąpił.ErrorKind – If an error occurs when SubmitForm runs, the kind of error that occurred.

  • Dotyczy tylko kontrolki Formularza edycji.Applies only to an Edit form control.
  • Ta właściwość ma takie samo wyliczenie jak funkcja Errors.This property has the same enumeration as the Errors function. Kontrolka Formularz edycji może zwracać następujące wartości:An Edit form control can return these values:
ErrorKindErrorKind OpisDescription
ErrorKind.ConflictErrorKind.Conflict Inny użytkownik zmienił ten sam rekord, powodując konflikt zmiany.Another user changed the same record, resulting in a change conflict. Wykonaj funkcję Refresh, aby ponownie załadować rekord, i spróbuj ponownie wprowadzić zmiany.Execute the Refresh function to reload the record, and try the change again.
ErrorKind.NoneErrorKind.None Błąd jest nieznanego typu.The error is of an unknown kind.
ErrorKind.SyncErrorKind.Sync Źródło danych zgłosiło błąd.The data source reported an error. Sprawdź właściwość Error, aby uzyskać więcej informacji.Check the Error property for more information.
ErrorKind.ValidationErrorKind.Validation Wykryto problem ogólnej walidacji.A general validation issue was detected.

Item — rekord we właściwości DataSource, który użytkownik wyświetli lub zmodyfikuje.Item – The record in the DataSource that the user will show or edit.

LastSubmit — ostatni pomyślnie przesłany rekord, w tym wszelkie pola wygenerowane przez serwer.LastSubmit – The last successfully submitted record, including any server generated fields.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.This property applies only to the Edit form control.
  • 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.If the data source automatically generates or calculates any fields, such as an ID field with a unique number, the LastSubmit property will have this new value after SubmitForm successfully runs.
  • Wartość tej właściwości jest dostępna w formule OnSuccess.The value of this property is available in the OnSuccess formula.

Mode — kontrolka jest w trybie Edycja lub Nowy.Mode – The control is in Edit or New mode.

ModeMode OpisDescription
FormMode.EditFormMode.Edit Użytkownik może edytować rekord za pomocą formularza.The user can edit a record by using the form. Wartości na kartach formularza są wstępnie wypełniane przy użyciu istniejącego rekordu, a użytkownik może to zmienić.The values in the form's cards are pre-populated with the existing record, for the user to change. Jeśli funkcja SubmitForm zostanie wykonana pomyślnie, istniejący rekord zostanie zmodyfikowany.If the SubmitForm function runs successfully, an existing record is modified.
FormMode.NewFormMode.New Użytkownik może utworzyć rekord za pomocą formularza.The user can create a record by using the form. Wartości kontrolek formularza są wstępnie wypełniane przy użyciu ustawień domyślnych dla rekordu źródła danych.The values in the form's controls are pre-popoulated with the defaults for a record of the data source. Jeśli funkcja SubmitForm zostanie wykonana pomyślnie, zostanie utworzony rekord.If the SubmitForm function runs successfully, an record is created.
FormMode.ViewFormMode.View Użytkownik może wyświetlić rekord za pomocą formularza.The user can view a record by using the form. Wartości kontrolek formularza są wstępnie wypełniane przy użyciu ustawień domyślnych dla rekordu źródła danych.The values in the form's controls are pre-popoulated with the defaults for a record of the data source.

Formularz przechodzi z trybu Nowy w tryb Edycja, gdy wystąpi którakolwiek z następujących zmian:The form switches from New mode to Edit mode when any of these changes occurs:

  • Formularz zostanie pomyślnie przesłany i zostanie utworzony rekord.The form is successfully submitted, and a record is created. 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.If the gallery is set to automatically move selection to this new record, the form will be in Edit mode for the created record so that the user can make additional changes.
  • Jest uruchomiona funkcja EditForm.The EditForm function runs.
  • Jest uruchomiona funkcja ResetForm.The ResetForm function runs. Na przykład użytkownik może wybrać przycisk Anuluj, który został skonfigurowany za pomocą tej funkcji.For example, the user might select a Cancel button that's been configured with this function.

OnFailure — w jaki sposób aplikacja reaguje, gdy operacja na danych zakończy się niepowodzeniem.OnFailure – How an app responds when a data operation has been unsuccessful.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.This property applies only to the Edit form control.

OnReset — w jaki sposób aplikacja reaguje, gdy zostanie zresetowana kontrolka Formularz edycji.OnReset – How an app responds when an Edit form control is reset.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.This property applies only to the Edit form control.

OnSuccess — w jaki sposób aplikacja reaguje, gdy operacja na danych zakończy się powodzeniem.OnSuccess – How an app responds when a data operation has been successful.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.This property applies only to the Edit form control.

Unsaved — ma wartość true, jeśli kontrolka Formularz edycji zawiera zmiany użytkownika, które nie zostały zapisane.Unsaved – True if the Edit form control contains user changes that have not been saved.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.This property applies only to the Edit form control.
  • Tej właściwości należy użyć, aby ostrzec użytkownika przed utratą wszelkich niezapisanych zmian.Use this property to warn the user before they lose any unsaved changes. 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.To prevent the user from selecting a different record in a Gallery control before saving changes to the current record, set the gallery's Disabled property to Form.Unsaved and, likewise, disable refresh operations.

Updates — wartości do zapisania z powrotem do źródła danych dla rekordu załadowanego w kontrolce formularza.Updates – The values to write back to the data source for a record loaded in a form control.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.This property applies only to the Edit form control.
  • Ta właściwość służy do wyodrębniania wartości pól z kart wewnątrz kontrolki.Use this property to extract the field values from the cards within the control. 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.You can then use these values to manually update the data source with a Patch function call or another method exposed by a connection. Nie trzeba używać tej właściwości, jeśli używasz funkcji SubmitForm.You do not need to use this property if you are using the SubmitForm function.
  • Ta właściwość zwraca rekord z wartościami.This property returns a record of values. Na przykład, jeśli kontrolka formularza zawiera kontrolki karty w polach Nazwa 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", Quantity: 10}.For example, if the form control contains card controls for Name and Quantity fields, and the values of the Update properties for those cards return "Widget" and 10 respectively, then the Updates property for the form control would return { Name: "Widget", Quantity: 10 }.

Valid — czy kontrolka Karta lub Formularz edycji zawiera prawidłowe wpisy gotowe do wysłania do źródła danych.Valid – Whether a Card or Edit form control contains valid entries, ready to be submitted to the data source.

  • Ta właściwość ma zastosowanie tylko do kontrolki Formularz edycji.This property applies only to the Edit form control.
  • Właściwość Valid kontrolki Formularz agreguje właściwości Valid wszystkich kontrolek Karta w formularzu.A Form control's Valid property aggregates the Valid properties of all the Card controls in the form. Właściwość Valid formularza ma wartość true tylko, gdy dane na wszystkich kartach w tym formularzu są poprawne; w przeciwnym razie właściwość Valid formularza ma wartość false.A form's Valid property is true only if the data in all cards in that form is valid; otherwise, the form's Valid property is false.
  • Aby włączyć przycisk zapisywania zmian tylko, gdy dane w formularzu są prawidłowe, ale jeszcze nie zostały przesłane, ustaw właściwość Enabled przycisku na następującą formułę:To enable a button to save changes only when the data in a form is valid but hasn't yet been submitted, set the button's Enabled to this formula:

    SubmitButton.Enabled = IsBlank (Form.Error) || Form.ValidSubmitButton.Enabled = IsBlank( Form.Error ) || Form.Valid

Dodatkowe właściwościAdditional properties

BorderColor — kolor obramowania kontrolki.BorderColor – The color of a control's border.

BorderStyle — rodzaj obramowania kontrolki: Solid (ciągłe), Dashed (kreskowane), Dotted (kropkowane) lub None (brak).BorderStyle – Whether a control's border is Solid, Dashed, Dotted, or None.

BorderThickness — grubość obramowania kontrolki.BorderThickness – The thickness of a control's border.

Fill — kolor tła kontrolki.Fill – The background color of a control.

Height — odległość między górną i dolną krawędzią kontrolki.Height – The distance between a control's top and bottom edges.

Visible — czy kontrolka jest widoczna, czy ukryta.Visible – Whether a control appears or is hidden.

Width — odległość między lewą i prawą krawędzią kontrolki.Width – The distance between a control's left and right edges.

X — odległość między lewą krawędzią kontrolki a lewą krawędzią jej kontenera nadrzędnego (ekranu, jeśli brak kontenera nadrzędnego).X – The distance between the left edge of a control and the left edge of its parent container (screen if no parent container).

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).Y – The distance between the top edge of a control and the top edge of the parent container (screen if no parent container).

Więcej informacjiMore information

Kompleksowe omówienie działania formularzy znajduje się w temacie Omówienie formularzy danych.For a comprehensive overview of how forms work, see Understand data forms.