Функции EditForm, NewForm, SubmitForm, ResetForm и ViewForm в PowerAppsEditForm, NewForm, SubmitForm, ResetForm, and ViewForm functions in PowerApps

Просмотр, изменение или создание элемента, сохранение содержимого и сброс элементов управления в форме редактирования.View, edit, or create an item, save the contents, and reset the controls in an Edit form control.

ОбзорOverview

Эти функции изменяют состояние элемента управления Форма редактирования.These functions change the state of the Edit form control. Элемент управления "Форма" поддерживает следующие режимы:The form control can be in one of these modes:

РежимMode ОписаниеDescription
FormMode.EditFormMode.Edit Форма заполняется значениями из существующей записи, и пользователь может изменять значения полей.The form is populated with an existing record and the user can modify the values of the fields. Пользователь может сохранить все внесенные в запись изменения.Once complete, the user can save the changes to the record.
FormMode.NewFormMode.New Форма заполняется значениями по умолчанию, и пользователь может изменять значения полей.The form is populates with default values and the user can modify the values of the fields. После внесения всех изменений пользователь может добавить запись в источник данных.Once complete, the user can add the record to the data source.
FormMode.ViewFormMode.View Форма заполняется значениями из существующей записи, но пользователь не может изменять значения полей.The form is populated with an existing record but the user cannot modify the values of the fields.

ОписаниеDescription

Эти функции обычно вызываются из формулы OnSelect, определенной для элементов управления Кнопка или Изображение. Они позволяют пользователю сохранить изменения, отменить изменения или создать новую запись.These functions are often invoked from the OnSelect formula of a Button or Image control so that the user can save edits, abandon edits, or create a record. Вы можете объединить элементы управления и эти функции, чтобы создать законченное решение.You can use controls and these functions together to create a complete solution.

Эти функции не возвращают никаких значений.These functions return no values.

SubmitFormSubmitForm

Используйте функцию SubmitForm в свойстве OnSelect для элемента управления "Кнопка", чтобы сохранить изменения, внесенные в источник данных через элемент управления "Форма".Use the SubmitForm function in the OnSelect property of a Button control to save any changes in a Form control to the data source.

Прежде чем отправить изменения, эта функция проверяет допустимость значений для всех полей, помеченных как обязательные или имеющих одно или несколько ограничений на значение.Before submitting any changes, this function checks for validation issues with any field that's marked as required or that has one or more constraints on its value. Это поведение соответствует выполнению функции Validate.This behavior matches that of the Validate function.

Также SubmitForm проверяет свойство Valid для формы, которое является агрегатом свойств Valid для всех элементов управления Карточка, которые включены в элемент управления "Форма".SubmitForm also checks the Valid property of the Form, which is an aggregation of all the Valid properties of the Card controls that the Form control contains. Если возникает проблема, данные не передаются, а также устанавливаются соответствующие значения для свойств Error (Ошибка) и ErrorKind (Тип ошибки) в элементе управления "Форма".If a problem occurs, the data isn't submitted, and the Error and ErrorKind properties of the Form control are set accordingly.

Если проверка проходит успешно, SubmitForm отправляет изменения в источник данных.If validation passes, SubmitForm submits the change to the data source.

  • В случае успешного выполнения запускается поведение OnSuccess, определенное для формы, а также очищаются значения свойств Error (Ошибка) и ErrorKind (Тип ошибки).If successful, the Form's OnSuccess behavior runs, and the Error and ErrorKind properties are cleared. Если форма находилась в режиме FormMode.New, устанавливается режим FormMode.Edit.If the form was in FormMode.New mode, it is returned to FormMode.Edit mode.
  • В случае сбоя запускается поведение OnFailure, определенное для формы, а также устанавливаются соответствующие значения свойств Error (Ошибка) и ErrorKind (Тип ошибки).If unsuccessful, the Form's OnFailure behavior runs, and the Error and ErrorKind properties are set accordingly. Режим формы в этом случае не изменяется.The mode of the form is unchanged.

EditFormEditForm

Функция EditForm устанавливает режим FormMode.Edit для элемента управления "Форма".The EditForm function changes the Form control's mode to FormMode.Edit. В этом режиме форма заполняется на основании содержимого свойства Item, установленного для элемента управления "Форма".In this mode, the contents of the Form control's Item property are used to populate the form. Если в этом режиме выполняется функция SubmitForm, запись изменяется, а не создается.If the SubmitForm function runs when the form is in this mode, a record is changed, not created. FormMode.Edit является режимом по умолчанию для элемента управления "Форма".FormMode.Edit is the default for the Form control.

NewFormNewForm

Функция NewForm устанавливает режим FormMode.New для элемента управления "Форма".The NewForm function changes the Form control's mode to FormMode.New. В этом режиме игнорируется содержимое элемента Item, установленное для элемента управления "Форма", и форма заполняется на основании значений по умолчанию из свойства DataSource.In this mode, the contents of the Form control's Item property are ignored, and the default values of the Form's DataSource property populate the form. Если в этом режиме выполняется функция SubmitForm, запись создается, а не изменяется.If the SubmitForm function runs when the form is in this mode, a record is created, not changed.

ResetFormResetForm

Функция ResetForm сбрасывает содержимое формы к начальным значениям, которые были установлены до внесения пользователем любых изменений.The ResetForm function resets the contents of a form to their initial values, before the user made any changes. Если форма находится в режиме FormMode.New, устанавливается режим FormMode.Edit.If the form is in FormMode.New mode, the form is reset to FormMode.Edit mode. Также запускается поведение OnReset, определенное для элемента управления "Форма".The OnReset behavior of the form control also runs. Можно также сбросить отдельные элементы управления с помощью функции Сброс. Но это можно сделать только в форме.You can also reset individual controls with the Reset function but only from within the form.

ViewFormViewForm

Функция ViewForm меняет режим элемента управления "Форма" на FormMode.New.The ViewForm function changes the Form control's mode to FormMode.View. В этом режиме форма заполняется на основании содержимого свойства Item, установленного для элемента управления "Форма".In this mode, the contents of the Form control's Item property are used to populate the form. Функции SubmitForm и RestForm не работают в этом режиме.The SubmitForm and RestForm functions have no effect when in this mode.

Свойство DisplayModeDisplayMode Poperty

Текущий режим можно узнать с помощью свойства Режим.The current mode can be read through the Mode property. Режим также определяет значение свойства DisplayMode, которое могут использовать карточки данных и элементы управления в элементе управления "Форма".The mode also determines the value of the DisplayMode property which can be used by data cards and controls within the form control. Часто свойству DisplayMode карточки данных присваивается значение Parent.DisplayMode (ссылается на форму), как и свойству DisplayMode элемента управления (ссылается на карточку данных):Often, the data card's DisplayMode property will be set to Parent.DisplayMode (refernceing the form) as will the control's DisplayMode property (referncing the data card):

РежимMode DisplayModeDisplayMode ОписаниеDescription
FormMode.EditFormMode.Edit DisplayMode.EditDisplayMode.Edit Карточки данных и элементы управления можно изменять; они принимают изменения в записи.Data cards and controls are editable, ready to accept changes to a record.
FormMode.NewFormMode.New DisplayMode.EditDisplayMode.Edit Карточки данных и элементы управления можно изменять, они принимают новые записи.Data cards and controls are editable, ready to accept a new record.
FormMode.ViewFormMode.View DisplayMode.ViewDisplayMode.View Карточки данных и элементы управления нельзя изменять, они оптимизированы для просмотра.Data cards and controls are not editable and optimized for viewing.

СинтаксисSyntax

SubmitForm( FormName )SubmitForm( FormName )

  • FormName — обязательный аргумент.FormName - Required. Элемент управления "Форма", который отправляет данные в источник данных.Form control to submit to the data source.

EditForm( FormName )EditForm( FormName )

  • FormName — обязательный аргумент.FormName - Required. Элемент управления "Форма", который нужно перевести в режим FormMode.Edit.Form control to switch to FormMode.Edit mode.

NewForm( FormName )NewForm( FormName )

  • FormName — обязательный аргумент.FormName - Required. Элемент управления "Форма", который нужно перевести в режим FormMode.New.Form control to switch to FormMode.New mode.

ResetForm( FormName )ResetForm( FormName )

  • FormName — обязательный аргумент.FormName - Required. Элемент управления "Форма", в котором нужно восстановить исходные значения.Form control to reset to initial values. Также форма переключается из режима FormMode.New в режим FormMode.Edit.Also switches the form from FormMode.New mode to FormMode.Edit mode.

ViewForm( FormName )ViewForm( FormName )

  • FormName — обязательный аргумент.FormName - Required. Элемент управления "Форма", который нужно перевести в режим FormMode.View.Form control to switch to FormMode.View mode.

ПримерыExamples

Полные примеры вы найдете в статье о формах данных в Microsoft PowerApps.See Understand data forms for complete examples.

  1. Добавьте элемент управления "Кнопка", задайте значение Сохранить для ее свойства Text и задайте следующую формулу в качестве значения свойства OnSelect:Add a Button control, set its Text property to show Save, and set its OnSelect property to this formula:

    SubmitForm( EditForm )SubmitForm( EditForm )

  2. Задайте пустое значение для свойства OnFailure элемента управления "Форма", а для свойства OnSuccess введите такую формулу:Set the OnFailure property of a Form control to blank and its OnSuccess property to this formula:

    Back()Back()

  3. Создайте элемент управления Метка с именем ErrorText и задайте в качестве значения параметра Text следующую формулу:Name a Label control ErrorText, and set its Text property to this formula:

    EditForm.ErrorEditForm.Error

    Когда пользователь выбирает кнопку Сохранить, все внесенные в форме изменения отправляются в источник данных.When the user selects the Save button, any changes in the Form control are submitted to the underlying data source.

    • Если отправка прошла успешно, все изменения сохраняются в существующей или новой (если элемент управления "Форма" находился в режиме New) записи.If the submission succeeds, any changes are saved or, if the Form control is in New mode, a record is created. ErrorText получает пустое значение, и снова открывается предыдущий экран.ErrorText is blank and the previous screen reappears.
    • Если возникла ошибка при передаче, ErrorText получает понятное сообщение об ошибке и остается открытым текущий экран, где пользователь может устранить проблему и повторить попытку.If the submission fails, ErrorText shows a user-friendly error message, and the current screen remains visible so that the user can correct the problem and try again.
  4. Добавьте элемент управления "Кнопка", задайте значение Отменить для ее свойства Text и задайте следующую формулу в качестве значения свойства OnSelect:Add a Button control, set its Text property to show Cancel, and set its OnSelect property to this formula:

    ResetForm( EditForm ); Back()ResetForm( EditForm ); Back()

    Когда пользователь выбирает кнопку Отменить, значения в элементе управления "Форма" сбрасываются до того состояния, в котором они находились до редактирования пользователем. Снова открывается предыдущий экран, и элемент управления "Форма" переходит в режим Edit, если для него был назначен режим New.When the user selects the Cancel button, the values in the Form control are reset to what they were before the user started to edit it, the previous screen reappears, and the Form control is returned to Edit mode if it was in New mode.

  5. Добавьте элемент управления "Кнопка", задайте значение Добавить для ее свойства Text и задайте следующую формулу в качестве значения свойства OnSelect:Add a Button control, set its Text property to show New, and set its OnSelect property to this formula:

    NewForm( EditForm ); Navigate( EditScreen, None )NewForm( EditForm ); Navigate( EditScreen, None )

    Когда пользователь нажимает кнопку New, элемент управления "Форма" переключается в режим New и заполняется значениями по умолчанию для источника данных, назначенного этому элементу управления "Форма". После этого открывается экран, который содержит элемент управления "Форма".When the user selects the New button, the Form control switches to New mode, the default values for the Form control's data source populate that control, and the screen that contains the Form control appears. Теперь, когда выполняется функция SubmitForm, запись создается, а не обновляется.When the SubmitForm function runs, a record is created instead of updated.