Элементы управления "Изменить форму" и "Отображать форму" в PowerAppsEdit form and Display form controls in PowerApps

Элементы управления "Отображать форму" и "Изменить форму" служат для отображения, изменения и создания записей в источнике данных.Display, edit, and create a record in a data source.

ОписаниеDescription

С помощью элемента управления Отображать форму, добавленного в приложение, пользователь может отобразить все поля записи или только поля, указанные вами.If you add a Display form control, the user can display all fields of a record or only the fields that you specify. С помощью элемента управления Изменить форму пользователь может изменить поля, создать запись и сохранить изменения в источнике данных.If you add an Edit form control, the user can edit those fields, create a record, and save those changes to a data source.

Примеры элементов управления формы

Вы можете настроить элемент управления Коллекция для отображения таблицы из источника данных, а затем настроить форму для отображения записи, выбранной пользователем в коллекции.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. Также можно добавить один или несколько элементов управления Кнопка, чтобы пользователь мог сохранить изменения, отменить их и создать запись.You can also add one or more Button controls that the user can select to save edits, cancel edits, and create a record. Комбинируя элементы управления друг с другом, можно создать полное решение.By using controls together, you can create a complete solution.

Выбор записиRecord selection

Назначьте свойству DataSource формы таблицу записей, а затем настройте свойство Item формы для отображения записи из этой таблицы.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. Например, вы можете назначить свойству Item формы свойство SelectedItem элемента управления Коллекция.For example, you can set the Item property of a form to the SelectedItem property of a Gallery control. Когда пользователь выберет запись в коллекции, та же запись будет отображена в форме (возможно, с дополнительными полями).When the user selects a record in the gallery, the same record appears in the form, except that the form can show more fields. Если пользователь вернется в коллекцию и выберет другую запись, свойство SelectedItem коллекции изменится соответствующим образом.If the user returns to the gallery and selects a different record, the SelectedItem property of the gallery changes. Это изменение вызовет обновление свойства Item формы, и в нем отобразится новая выбранная запись.This change updates the Item property of the form, which then shows the newly selected record.

Каждая форма содержит один или несколько элементов управления Карточка.Each form control contains one or more Card controls. С помощью свойства DataField карточки можно указать, какое поле должно отображаться в карточке, и настроить другие параметры.By setting the DataField property of a card, you specify which field that card shows and other details.

Создание записиCreate a record

Когда элемент управления Изменить форму находится в режиме редактирования, пользователь может обновить запись, назначенную свойству Item формы.When an Edit form control is in Edit mode, the user can update the record that's specified in the form's Item property. В этом режиме свойство Mode имеет значение Edit.If inspected, the Mode property returns Edit.

Если элемент управления Изменить форму находится в режиме создания, свойство Item игнорируется.When an Edit form control is in New mode, however, the Item property is ignored. Имеющиеся записи при этом в форме не отображаются. Вместо этого значения в каждом поле соответствуют значениям по умолчанию из источника данных, который вы назначили форме.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. Функция NewForm переводит форму в этот режим.The NewForm function causes a form to switch to this mode.

Например, вы можете назначить свойству Text кнопки значение Создать, а ее свойству OnSelect — формулу с функцией 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. При нажатии кнопки форма перейдет в режим создания, и пользователь сможет создать запись, начав с имеющихся значений.If the user selects that button, the form switches to New mode so that the user can create a record starting with known values.

Форма возвращается в режим редактирования при вызове функции ResetForm или успешном выполнении функции SubmitForm.A form switches back to Edit mode if either the ResetForm function runs or the SubmitForm function runs successfully.

  • Вы можете назначить свойству Text кнопки текст Отменить, а ее свойству OnSelect — формулу с функцией 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. При нажатии этой кнопки текущие изменения будут отброшены, а значения в форме вернутся к значениям по умолчанию из источника данных.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.
  • Вы можете назначить свойству Text кнопки текст Сохранить изменения, а ее свойству OnSelect — формулу с функцией 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. При нажатии этой кнопки источник данных будет обновлен, а значения в форме вернутся к значениям по умолчанию из источника данных.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.

Сохранение измененийSave changes

С помощью кнопки Сохранить изменения, описанной в предыдущем разделе, пользователь может создать или обновить запись, а затем сохранить изменения в источнике данных.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. Однако то же самое можно сделать с помощью элемента управления Изображение или другого элемента управления. Для этого нужно использовать его вместе с функцией 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. В любом случае узнать результат можно с помощью свойств Error, ErrorKind, OnSuccess и OnFailure.In any case, the Error, ErrorKind, OnSuccess, and OnFailure properties provide feedback on the outcome.

При вызове функции SubmitForm она сначала проверяет данные, которые пользователь желает отправить.When the SubmitForm function runs, it first validates the data that user wants to submit. Если обязательное поле не заполнено или не выполнено какое-либо другое условие, задается свойство ErrorKind и выполняется формула 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. Вы можете настроить кнопку Сохранить изменения или другой элемент управления так, чтобы они срабатывали только при условии ввода допустимых данных (т. е. если свойство Valid формы имеет значение 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). Если данные недопустимы, пользователь должен устранить проблему, а затем снова нажать кнопку Сохранить изменения (или отменить изменения с помощью кнопки Отменить), чтобы сбросить свойства Error и 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.

Если данные проходят проверку, функция SubmitForm отправляет их источнику данных. На это может потребоваться некоторое время, зависящее от задержки в сети.If the data passes validation, SubmitForm sends it to the data source, which can take some time depending on network latency.

  • Если отправка выполняется успешно, свойство Error очищается, свойству ErrorKind присваивается значение ErrorKind.None, а затем выполняется формула OnSuccess.If the submission succeeds, the Error property is cleared, the ErrorKind property is set to ErrorKind.None, and the OnSuccess formula runs. После создания записи (т. е. если ранее форма находилась в режиме создания), форма переходит в режим редактирования, чтобы можно было изменить новую или другую запись.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.
  • Если отправить данные не удается, свойство Error содержит понятное сообщение об ошибке из источника данных.If the submission fails, the Error property contains a user-friendly error message from the data source, explaining the problem. Свойству ErrorKind при этом присваивается значение, соответствующее проблеме, а затем выполняется формула OnFailure.The ErrorKind property is set appropriately, depending on the issue, and the OnFailure formula runs.

Некоторые источники данных распознают ситуации, когда два пользователя пытаются обновить одну и ту же запись одновременно. В этом случае свойству ErrorKind присваивается значение ErrorKind.Conflict, а для решения проблемы нужно применить вносимые пользователями изменения по очереди.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.

Совет

Если вы добавляете на форму кнопку Отменить, чтобы пользователь мог отказаться от уже сделанных изменений, назначьте функцию ResetForm свойству OnSelect кнопки, даже если оно связано с функцией Navigate, сменяющей экран.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. В противном случае внесенные пользователем изменения сохранятся в форме.Otherwise, the form will retain the user's changes.

МакетLayout

По умолчанию карточки помещаются в один столбец для приложений для телефона и в три столбца для приложений для планшета.By default, cards are placed in a single column for phone apps and three columns for tablet apps. Можно указать количество столбцов в форме и задать привязку карточек к ним при настройке формы.You can specify how many columns a form has and whether cards should snap to them as you configure the form. Эти параметры не предоставляются как свойства, так как они используются только для задания свойств X, Y и Width карточек.These settings aren't exposed as properties because they're used only to set the X, Y, and Width properties of the cards.

Дополнительные сведения о формах данных см. в статье Общие сведения о макете формы данных в Microsoft PowerApps.For more information, see Understand data form layout.

Основные свойстваKey properties

DataSource — источник данных, используемый для просмотра, изменения и создания записей.DataSource – The data source that contains the record that the user will show, edit, or create.

  • Если это свойство не задано, пользователь не сможет просматривать, изменять и создавать записи, а дополнительные метаданные и возможности проверки будут недоступны.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 — начальный режим элемента управления формой.DefaultMode - The initial mode of the form control. Допустимые значения и пояснения к ним см. в описании свойства Режим ниже.See the description of Mode below for the acceptable values and their meanings.

DisplayMode — этот режим используется карточками данных и элементами управления в элементе управления формой.DisplayMode - The mode to use for data cards and controls within the form control.

Является производным от свойства Режим и не может быть задан отдельно:Derived from the Mode property based and cannot be set independently:

Режим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.

Error — понятное сообщение об ошибке, которое отображается для формы, если функция SubmitForm завершается ошибкой.Error – A user friendly error message to display for this form when the SubmitForm function fails.

  • Это свойство есть только у элемента управления Изменить форму.This property applies only to the Edit form control.
  • Оно может быть изменено только функциями SubmitForm, EditForm и ResetForm.This property changes only when the SubmitForm, EditForm, or ResetForm function runs.
  • При отсутствии ошибок это свойство пусто, а свойство ErrorKind имеет значение ErrorKind.None.If no error occurs, this property is blank, and ErrorKind is set to ErrorKind.None.
  • Сообщения об ошибках по возможности выводятся на языке пользователя.When possible, the error message returned will be in the user's language. Некоторые сообщения об ошибках возвращаются непосредственно из источника данных и не могут быть представлены на языке пользователя.Some error messages come from the data source directly and may not be in the user's language.

ErrorKind — если ошибка возникает при выполнении функции SubmitForm, это свойство содержит тип ошибки.ErrorKind – If an error occurs when SubmitForm runs, the kind of error that occurred.

  • Оно есть только у элемента управления Изменить форму.Applies only to an Edit form control.
  • Это свойство поддерживает те же значения, что и функция Errors.This property has the same enumeration as the Errors function. Элемент управления Изменить форму может возвращать значения, указанные ниже.An Edit form control can return these values:
Значение свойства ErrorKindErrorKind ОписаниеDescription
ErrorKind.ConflictErrorKind.Conflict Другой пользователь изменил ту же запись, что привело к конфликту изменений.Another user changed the same record, resulting in a change conflict. Вызовите функцию Refresh, чтобы загрузить запись заново, и повторите попытку изменения.Execute the Refresh function to reload the record, and try the change again.
ErrorKind.NoneErrorKind.None Произошла неизвестная ошибка.The error is of an unknown kind.
ErrorKind.SyncErrorKind.Sync Об ошибке сообщил источник данных.The data source reported an error. Для получения дополнительных сведений проверьте свойство Error.Check the Error property for more information.
ErrorKind.ValidationErrorKind.Validation Обнаружена общая проблема проверки данных.A general validation issue was detected.

Item — запись в источнике данных, которую пользователь сможет просмотреть или изменить.Item – The record in the DataSource that the user will show or edit.

LastSubmit — последняя успешно отправленная запись (включая поля, сгенерированные сервером).LastSubmit – The last successfully submitted record, including any server generated fields.

  • Это свойство есть только у элемента управления Изменить форму.This property applies only to the Edit form control.
  • Если источник данных автоматически генерирует или вычисляет какие-либо поля, например поле ID с уникальным номером, свойство LastSubmit будет содержать это значение после успешного выполнения функции 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.
  • Значение этого свойства доступно в формуле OnSuccess.The value of this property is available in the OnSuccess formula.

Mode — режим, в котором находится элемент управления: Edit (редактирование) или New (создание).Mode – The control is in Edit or New mode.

РежимMode ОписаниеDescription
FormMode.EditFormMode.Edit Пользователь может редактировать запись с помощью формы.The user can edit a record by using the form. Карточки формы предварительно заполняются значениями из существующей записи, чтобы пользователь мог изменить их.The values in the form's cards are pre-populated with the existing record, for the user to change. При успешном выполнении функции SubmitForm существующая запись изменяется.If the SubmitForm function runs successfully, an existing record is modified.
FormMode.NewFormMode.New Пользователь может создать запись с помощью формы.The user can create a record by using the form. Элементы управления формы предварительно заполняются значениями по умолчанию для записи в источнике данных.The values in the form's controls are pre-popoulated with the defaults for a record of the data source. При успешном выполнении функции SubmitForm создается запись.If the SubmitForm function runs successfully, an record is created.
FormMode.ViewFormMode.View Пользователь может просматривать запись с помощью формы.The user can view a record by using the form. Элементы управления формы предварительно заполняются значениями по умолчанию для записи в источнике данных.The values in the form's controls are pre-popoulated with the defaults for a record of the data source.

Форма переходит из режима создания в режим редактирования в описанных далее ситуациях.The form switches from New mode to Edit mode when any of these changes occurs:

  • После успешной отправки формы и создания записи.The form is successfully submitted, and a record is created. Если для коллекции включено автоматическое выделение новой записи, форма переходит в режим редактирования для созданной записи, чтобы пользователь мог внести дополнительные изменения.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.
  • При выполнении функции EditForm.The EditForm function runs.
  • При выполнении функции ResetForm.The ResetForm function runs. Например, эта функция может быть назначена кнопке Отменить и вызываться при ее нажатии.For example, the user might select a Cancel button that's been configured with this function.

OnFailure — поведение приложения при неудачной операции с данными.OnFailure – How an app responds when a data operation has been unsuccessful.

  • Это свойство есть только у элемента управления Изменить форму.This property applies only to the Edit form control.

OnReset — поведение приложения при сбросе элемента управления Изменить форму.OnReset – How an app responds when an Edit form control is reset.

  • Это свойство есть только у элемента управления Изменить форму.This property applies only to the Edit form control.

OnSuccess — поведение приложения при успешной операции с данными.OnSuccess – How an app responds when a data operation has been successful.

  • Это свойство есть только у элемента управления Изменить форму.This property applies only to the Edit form control.

Unsaved — значение True, если элемент управления Изменить форму содержит пользовательские изменения, которые не были сохранены.Unsaved – True if the Edit form control contains user changes that have not been saved.

  • Это свойство есть только у элемента управления Изменить форму.This property applies only to the Edit form control.
  • Используйте его для уведомления пользователей о том, что несохраненные изменения могут быть утрачены.Use this property to warn the user before they lose any unsaved changes. Чтобы пользователь не мог выбрать другую запись в элементе управления Коллекция, не сохранив текущую запись, присвойте свойству Disabled коллекции значение Form.Unsaved и отключите операции обновления.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 — значения, сохраняемые в источнике данных для записи, загруженной в элемент управления формы.Updates – The values to write back to the data source for a record loaded in a form control.

  • Это свойство есть только у элемента управления Изменить форму.This property applies only to the Edit form control.
  • Используйте его для извлечения значений полей из карточек в элементе управления.Use this property to extract the field values from the cards within the control. Затем вы можете использовать эти значения, чтобы вручную обновить источник данных с помощью функции Patch или другого метода, предоставляемого подключением.You can then use these values to manually update the data source with a Patch function call or another method exposed by a connection. Если вы отправляете форму с помощью функции SubmitForm, использовать это свойство не требуется.You do not need to use this property if you are using the SubmitForm function.
  • Это свойство возвращает запись из значений.This property returns a record of values. Например, если элемент управления формы содержит карточки для полей Name и Quantity, а свойства Update этих карточек возвращают значения "Мини-приложение" и 10 соответственно, то свойство Updates возвратит значение {Name: "Мини-приложение", 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 — это свойство показывает, содержит ли элемент управления Карточка или Изменить форму допустимые значения, готовые к отправке в источник данных.Valid – Whether a Card or Edit form control contains valid entries, ready to be submitted to the data source.

  • Это свойство есть только у элемента управления Изменить форму.This property applies only to the Edit form control.
  • Свойство Valid формы объединяет свойства Valid всех элементов управления Карточка в форме.A Form control's Valid property aggregates the Valid properties of all the Card controls in the form. Свойство Valid формы имеет значение true только в том случае, если данные действительны во всех карточках формы. В противном случае оно имеет значение 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.
  • Чтобы кнопка сохраняла изменения, только если форма содержит допустимые данные, назначьте свойству Enabled кнопки следующую формулу: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

Дополнительные свойстваAdditional properties

BorderColor — цвет границы элемента управления.BorderColor – The color of a control's border.

BorderStyle — стиль границы элемента управления: Сплошная, Штриховая, Пунктирная или Отсутствует.BorderStyle – Whether a control's border is Solid, Dashed, Dotted, or None.

BorderThickness — толщина границы элемента управления.BorderThickness – The thickness of a control's border.

Fill — цвет фона элемента управления.Fill – The background color of a control.

Height — расстояние между верхним и нижним краем элемента управления.Height – The distance between a control's top and bottom edges.

Visible определяет, отображается ли элемент управления или он скрыт.Visible – Whether a control appears or is hidden.

Width — расстояние между левым и правым краем элемента управления.Width – The distance between a control's left and right edges.

X — расстояние между левым краем элемента управления и левым краем его родительского контейнера (или экрана, если родительского контейнера нет).X – The distance between the left edge of a control and the left edge of its parent container (screen if no parent container).

Y — расстояние между верхним краем элемента управления и верхним краем его родительского контейнера (или экрана, если родительского контейнера нет).Y – The distance between the top edge of a control and the top edge of the parent container (screen if no parent container).

Дополнительные сведенияMore information

Подробный обзор работы форм см. в разделе Общие сведения о формах данных в Microsoft PowerApps.For a comprehensive overview of how forms work, see Understand data forms.