Елементи керування "Відображення форми" та "Редагування форми" в Power Apps

Відображає, редагує та створює запис у джерелі даних.

Опис

Якщо додати елемент керування Відображення форми, користувач зможе відобразити всі поля запису або лише вказані поля. Якщо додати елемент керування Редагування форми, користувач зможе редагувати поля, створювати записи й зберігати зміни в джерелі даних.

Приклад елементів керування "Форма" й "Подання форми".

Якщо додати елемент керування Gallery, можна настроїти його на відображення таблиці в джерелі даних, а потім настроїти форму на відображення запису, вибраного користувачем у галереї. Можна також додати один або кілька елементів керування Button, які користувач може вибрати, щоб зберегти зміни, скасувати їх і створити запис. Використовуючи елементи керування разом, можна створити повне рішення.

Обмеження

Елемент керування формою має такі обмеження:

  • Не можна копіювати та вставляти форми в картки даних. Це зроблено для того, щоб запобігти створенню певних комбінацій елементів керування, які ставлять під загрозу стабільність і продуктивність програми.

Вибір запису

Для будь-якого типу форми призначте властивості DataSource форми таблицю записів, а потім настройте властивість Елемент форми на відображення певного запису з цієї таблиці. Наприклад, для властивості Елемент форми можна встановити властивість SelectedItem елемента керування Gallery. Коли користувач вибере запис у галереї, такий самий запис відобразиться у формі (також можуть відобразитися додаткові поля). Якщо користувач повернеться до галереї й вибере інший запис, властивість SelectedItem галереї буде змінено. Ця зміна призведе до оновлення властивості Елемент форми, і в ній відобразиться щойно вибраний запис.

Можна також установити властивість Елемент форми за допомогою елемента керування Розкривний список, як описано в розділі Відображення, редагування або додавання запису, або за допомогою функції, такої як Підстановка чи Перший. Наприклад, можна встановити для властивості «Елемент» будь-яку з цих формул, щоб відобразити запис Fabrikam у таблиці «Бізнес-партнери» в Microsoft Dataverse.

First(Accounts)

Lookup(Accounts, "Fabrikam" in name)

Кожен елемент керування форми містить один або кілька елементів керування Card. За допомогою властивості DataField картки можна вказати поле, яке відображатиметься в картці, та інші відомості.

Створення запису

Коли елемент керування Редагування форми знаходиться в режимі Редагування, користувач може оновити запис, указаний у властивості Елемент форми. Під час перевірки властивість Режим повертає значення Редагування.

Коли елемент керування Редагування форми знаходиться в режимі Створення, властивість Елемент ігнорується. У формі не відображається поточний запис. Натомість значення в кожному полі збігаються зі значеннями за замовчуванням джерела даних, з якими було настроєно форму. Функція NewForm переводить форму на цей режим.

Наприклад, можна настроїти властивість Текст кнопки, щоб відображалося значення Створення, а для властивості OnSelect установити формулу з функцією NewForm. Якщо користувач натисне цю кнопку, форма перейде в режим Створення, і користувач зможе створити запис, починаючи з відомих значень.

Форма перейде в режим Редагування, якщо успішно виконується функція ResetForm або SubmitForm.

  • Можна настроїти властивість Текст кнопки, щоб відображалося значення Скасувати, а для властивості OnSelect установити формулу з функцією ResetForm. Якщо користувач натисне цю кнопку, усі наявні зміни буде відхилено, а значення у формі збігатимуться зі значеннями за замовчуванням джерела даних.
  • Наприклад, можна настроїти властивість Текст кнопки, щоб відображалося значення Зберегти зміни, а для властивості OnSelect установити формулу з функцією SubmitForm. Якщо користувач натисне цю кнопку, коли джерело даних оновлено, значення у формі повернуться до значень за замовчуванням джерела даних.

Зберегти зміни

За допомогою кнопки Зберегти зміни, описаній у попередньому розділі, користувач може створити або оновити запис, а потім натиснути цю кнопку, щоб зберегти зміни в джерелі даних. Щоб виконати це завдання, можна також скористатись елементом керування Image або будь-яким іншим елементом керування, який використовується з функцією SubmitForm. У будь-якому разі ви дізнаєтеся про результат за допомогою властивостей Помилка, ErrorKind, OnSuccess та OnFailure.

Коли запущено функцію SubmitForm, вона спочатку перевіряє дані, які хоче надіслати користувач. Якщо обов’язкове поле не містить значення або інше значення не відповідає певному обмеженню, встановлюються властивості ErrorKind і виконується формула OnFailure. Можна настроїти кнопку Зберегти зміни або інший елемент керування таким чином, щоб користувач міг вибрати їх лише в разі припустимих даних (тобто, якщо властивість Припустимо форми має значення True). Зверніть увагу, що користувач повинен не лише виправити проблему, але й знову натиснути кнопку Зберегти зміни (або скасувати зміни, натиснувши кнопку Скасувати, як описано вище), щоб скинути властивості Помилка й ErrorKind.

Якщо дані пройшли перевірку, функція SubmitForm надсилає їх у джерело даних. Цей процес може тривати певний час, що залежить від затримок мережі.

  • Після завершення надсилання властивість Помилка очиститься, для властивості ErrorKind буде встановлено значення ErrorKind.None і запуститься формула OnSuccess. Якщо користувач створив запис (тобто, якщо форма раніше була в режимі Створення), форма перейде в режим Редагування, щоб користувач міг редагувати щойно створений або інший запис.
  • Якщо не вдалося виконати надсилання, властивість Помилка міститиме зрозуміле повідомлення про помилку із джерела даних. Для властивості ErrorKind буде встановлено відповідне значення, залежно від проблеми, і запуститься формула OnFailure.

Деякі джерела даних можуть визначати, коли два користувачі одночасно оновлюють той самий запис. У цьому разі для властивості ErrorKind установлюється значення ErrorKind.Conflict, а для вирішення проблеми потрібно оновити джерело даних за допомогою змін, внесених іншим користувачем, і повторно застосувати зміни, внесені поточним користувачем.

Порада

Якщо ви додаєте до форми кнопку Скасувати, щоб користувач міг скасувати внесені зміни, укажіть функцію ResetForm для властивості OnSelect кнопки, навіть якщо ця властивість містить функцію Перехід для переходу між екранами. В іншому разі форма збереже зміни, внесені користувачем.

Макет

За замовчуванням картки розміщені в одному стовпці для програм для телефонів і в трьох стовпцях для програм для планшетів. Можна вказати, скільки стовпців буде містити форма, а також, чи слід прив’язувати до них картки під час настроювання форми. Ці настройки не надаються як властивості, оскільки вони використовуються лише для встановлення властивостей X, Y і Ширина карток.

Щоб отримати додаткові відомості, див розділ Ознайомлення з макетом форми даних.

Ключові властивості

DataSource – джерело даних, яке використовується для відображення, редагування та створення записів користувачем.

  • Якщо цю властивість не встановлено, користувач не зможе відображати, редагувати й створювати записи, а додаткові метадані й можливості перевірки будуть недоступні.

DefaultMode – початковий режим елемента керування "Форма". Допустимі значення та пояснення до них наведено в описі властивості Режим нижче.

DisplayMode – режим, який використовується для карток даних і елементів керування в елементі керування "Форма".

Створюється на основі властивості Режим і не може бути встановлений окремо:

Режим DisplayMode Опис
FormMode.Edit DisplayMode.Edit Картки даних і елементи керування можна редагувати, і вони готові прийняти зміни до запису.
FormMode.New DisplayMode.Edit Картки даних і елементи керування можна редагувати, і вони готові прийняти новий запис.
FormMode.View DisplayMode.View Картки даних і елементи керування не можна редагувати, водночас їх оптимізовано для перегляду.

Помилка – зрозуміле повідомлення про помилку, яке відображається для цієї форми в разі помилки функції SubmitForm.

  • Ця властивість застосовується лише до елемента керування Редагування форми.
  • Ця властивість змінюється, лише коли виконується функція SubmitForm, EditForm або ResetForm.
  • Якщо помилок немає, ця властивість пуста, а властивість ErrorKind має значення ErrorKind.None.
  • По можливості, повідомлення про помилку відображатиметься мовою користувача. Деякі повідомлення про помилку надходять безпосередньо із джерела даних і можуть відображатися іншою мовою.

ErrorKind – якщо виникла помилка під час виконання функції SubmitForm, ця властивість містить тип помилки.

  • Застосовується лише до елемента керування Редагування форми.
  • Ця властивість має ті самі перелічення, що й функція Помилки. Елемент керування Редагування форми може повертати вказані нижче значення.
ErrorKind Опис
ErrorKind.Conflict Інший користувач змінив той самий запис, що призвело до конфлікту змін. Виконайте функцію Оновити, щоб повторно завантажити запис, і повторіть спробу змінення.
ErrorKind.None Помилка невідомого типу.
ErrorKind.Sync Джерело даних повідомило про помилку. Щоб отримати додаткові відомості, перевірте властивість Помилка.
ErrorKind.Validation Виявлено загальну проблему перевірки.

Елемент – запис у DataSource, який користувач буде відображати або редагувати.

LastSubmit – останній успішно надісланий запис, включно з усіма полями, створеними сервером.

  • Ця властивість застосовується лише до елемента керування Редагування форми.
  • Якщо джерело даних автоматично створює або обчислює будь-які поля, наприклад поле Ідентифікатор з унікальним номером, властивість LastSubmit міститиме це нове значення після успішного виконання функції SubmitForm.
  • Значення цієї властивості доступне у формулі OnSuccess.

Режим – елемент керування знаходиться в режимі Редагування або Створення.

Режим Опис
FormMode.Edit Користувач може редагувати запис за допомогою форми. Картки форми попередньо заповнюються значеннями з наявного запису, щоб користувач міг змінити їх. Якщо функцію SubmitForm виконано успішно, поточний запис змінюється.
FormMode.New Користувач може створити запис за допомогою форми. Значення в елементах керування форми попередньо заповнюються значеннями за замовчуванням для запису джерела даних. Якщо функцію SubmitForm виконано успішно, створюється новий запис.
FormMode.View Користувач може переглядати запис за допомогою форми. Значення в елементах керування форми попередньо заповнюються значеннями за замовчуванням для запису джерела даних.

Форма переходить з режиму Створення в режим Редагування, коли відбувається будь-яка із зазначених нижче змін.

  • Форму успішно надіслано, а запис створено. Якщо для галереї встановлено автоматичне виділення цього нового запису, форма перейде в режим Редагування для створеного запису, щоб користувач міг внести додаткові зміни.
  • Виконується функція EditForm.
  • Виконується функція ResetForm. Наприклад, користувач може натиснути кнопку Скасувати, для якої настроєна ця функція.

OnFailure – дії, які виконуються після невдалої операції з даними.

  • Ця властивість застосовується лише до елемента керування Редагування форми.

OnReset – дії, які виконуються після скидання елемента керування Змінити форму.

  • Ця властивість застосовується лише до елемента керування Редагування форми.

OnSuccess – дії, які виконуються після вдалої операції з даними.

  • Ця властивість застосовується лише до елемента керування Редагування форми.

Незбережені – значення "True", якщо елемент керування Редагування форми містить зміни користувача, які не було збережено.

  • Ця властивість застосовується лише до елемента керування Редагування форми.
  • Використовуйте цю властивість для попередження користувачів про те, що незбережені зміни можуть бути втрачені. Щоб користувач не міг вибрати інший запис в елементі керування Gallery, доки не збереже зміни, внесені в поточний запис, установіть для властивості Вимкнуто значення Form.Unsaved і вимкніть операції оновлення.

Оновлення – значення, які зберігаються в джерелі даних для запису, завантаженого в елемент керування "Форма".

  • Ця властивість застосовується лише до елемента керування Редагування форми.
  • Використовуйте цю властивість для отримання значень полів із карток в елементі керування. Потім ви можете використовувати ці значення, щоб вручну оновлювати джерело даних за допомогою функції Виправлення або іншого методу, наданого підключенням. Якщо ви використовуєте функцію SubmitForm, використовувати цю властивість не потрібно.
  • Ця властивість повертає запис значень. Наприклад, якщо елемент керування форми містить елементи керування карткою для полів Ім’я й Кількість, а значення властивості Update цих карток повертають значення "Віджет" і 10 відповідно, то властивість Оновлення для елемента керування форми поверне значення { Name: "Віджет", Quantity: 10 }.

Припустимо – визначає, чи елемент керування Card або Редагування форми містить припустимі значення, готові до надсилання в джерело даних.

  • Ця властивість застосовується лише до елемента керування Редагування форми.

  • Властивість Припустимо елемента керування Форма об’єднує властивості Припустимо всіх елементів керування Card у формі. Властивість Припустимо форми має значення True лише тоді, коли дані дійсні у всіх картках цієї форми. У противному разі властивість Припустимо форми має значення False.

  • Щоб кнопка зберігала зміни, тільки якщо форма містить припустимі дані, але їх ще не було надіслано, встановіть для властивості DisplayMode цю формулу:

    SubmitButton.DisplayMode = If(IsBlank( Form.Error ) || Form.Valid, DisplayMode.Edit, DisplayMode.Disabled)

Додаткові властивості

BorderColor  – колір межі елемента керування.

BorderStyle  – визначає стиль межі елемента керування: Суцільна, Штрихова, Пунктирна або Немає.

BorderThickness  – товщина межі елемента керування.

Fill  – колір фону елемента керування.

Height  – відстань між верхнім і нижнім краями елемента керування.

Visible  – відображення або приховання елемента керування.

Width  – відстань між лівим і правим краями елемента керування.

X  – відстань між лівим краєм елемента керування та лівим краєм його батьківського контейнера (екрана, якщо батьківський контейнер відсутній).

Y  – відстань між верхнім краєм елемента керування та верхнім краєм батьківського контейнера (екрана, якщо батьківський контейнер відсутній).

Додаткові відомості

Рекомендації щодо спеціальних можливостей

Підтримка зчитування екрана

  • Розгляньте можливість додати заголовок до форми за допомогою елемента керування Label.

Примітка

Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)

Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).