PowerApps의 EditForm, NewForm, SubmitForm, ResetForm 및 ViewForm 함수EditForm, 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

이러한 함수는 사용자가 편집 내용을 저장하거나 편집 내용을 취소하거나 레코드를 만들 수 있도록 Button 이나 Image 컨트롤의 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

Form 컨트롤의 변경 내용을 데이터 원본에 저장하려면 Button 컨트롤의 OnSelect 속성에 SubmitForm 함수를 사용합니다.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은 Form 컨트롤에 포함된 Card 컨트롤의 Valid 속성을 모두 집계한 Form의 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. 문제가 발생하면 데이터가 제출되지 않고 Form 컨트롤의 ErrorErrorKind 속성이 그에 맞게 설정됩니다.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.

  • 성공하면 Form의 OnSuccess 동작이 실행되고 ErrorErrorKind 속성이 지워집니다.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.
  • 실패할 경우 Form의 OnFailure 동작이 실행되고 ErrorErrorKind 속성이 그에 맞게 설정됩니다.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 함수는 Form 컨트롤의 모드를 FormMode.Edit으로 변경합니다.The EditForm function changes the Form control's mode to FormMode.Edit. 이 모드에서는 Form 컨트롤의 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은 Form 컨트롤의 기본값입니다.FormMode.Edit is the default for the Form control.

NewFormNewForm

NewForm 함수는 Form 컨트롤의 모드를 FormMode.New로 변경합니다.The NewForm function changes the Form control's mode to FormMode.New. 이 모드에서는 Form 컨트롤의 Item 속성 콘텐츠가 무시되고 Form의 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. Reset 함수를 사용하여 개별 컨트롤을 다시 설정할 수도 있지만 양식 내에서만 가능합니다.You can also reset individual controls with the Reset function but only from within the form.

ViewFormViewForm

ViewForm 함수는 Form 컨트롤의 모드를 FormMode.View로 변경합니다.The ViewForm function changes the Form control's mode to FormMode.View. 이 모드에서는 Form 컨트롤의 Item 속성 내용을 사용하여 양식을 채웁니다.In this mode, the contents of the Form control's Item property are used to populate the form. 합니다 SubmitForm 하 고 ResetForm 함수에이 모드에 영향을 주지 않습니다.The SubmitForm and ResetForm functions have no effect when in this mode.

DisplayMode 속성DisplayMode Property

현재 모드는 Mode 속성을 통해 읽을 수 있습니다.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 (referencing the form) as will the control's DisplayMode property (referencing 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 컨트롤입니다.Form control to submit to the data source.

EditForm( FormName )EditForm( FormName )

  • FormName - 필수 항목입니다.FormName - Required. FormMode.Edit 모드로 전환할 Form 컨트롤입니다.Form control to switch to FormMode.Edit mode.

NewForm( FormName )NewForm( FormName )

  • FormName - 필수 항목입니다.FormName - Required. FormMode.New 모드로 전환할 Form 컨트롤입니다.Form control to switch to FormMode.New mode.

ResetForm( FormName )ResetForm( FormName )

  • FormName - 필수 항목입니다.FormName - Required. 초기 값으로 다시 설정할 Form 컨트롤입니다.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 컨트롤입니다.Form control to switch to FormMode.View mode.

Examples

전체 예제는 데이터 폼 이해를 참조하세요.See Understand data forms for complete examples.

  1. Button 컨트롤을 추가하고 저장이 표시되도록 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. Form 컨트롤의 OnFailure 속성을 비워두고 OnSuccess 속성을 다음 수식으로 설정합니다.Set the OnFailure property of a Form control to blank and its OnSuccess property to this formula:

    Back()Back()

  3. Label 컨트롤의 이름을 ErrorText로 지정하고 Text 속성을 다음 수식으로 설정합니다.Name a Label control ErrorText, and set its Text property to this formula:

    EditForm.ErrorEditForm.Error

    사용자가 저장 단추를 선택하면 Form 컨트롤의 모든 변경 내용이 기본 데이터 원본에 제출됩니다.When the user selects the Save button, any changes in the Form control are submitted to the underlying data source.

    • 제출이 성공하면 변경 내용이 저장되거나 Form 컨트롤이 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. Button 컨트롤을 추가하고 취소가 표시되도록 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()

    사용자가 취소 단추를 선택하면 Form 컨트롤의 값이 사용자가 편집을 시작하기 전 상태로 재설정되고 이전 화면이 다시 나타나고 Form 컨트롤이 New 모드이면 Edit 모드로 돌아갑니다.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. Button 컨트롤을 추가하고 새로 만들기가 표시되도록 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 )

    사용자가 새로 만들기 단추를 선택하면 Form 컨트롤이 New 모드로 전환되고 Form 컨트롤의 데이터 원본 기본값으로 해당 컨트롤이 채워지고 Form 컨트롤이 포함된 화면이 나타납니다.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.