Функції EditForm, NewForm, SubmitForm, ResetForm і ViewForm
Застосовується до: програм Canvas
Перегляд, редагування або створення елемента, збереження вмісту та скидання елементів керування в елементі керування Форма редагування.
Зведення
Ці функції змінюють стан елемента керування Форма редагування. Елемент керування формою може перебувати в одному з нижчезазначених режимів.
Режим | Опис |
---|---|
FormMode.Edit | Форма заповнюється наявним записом, водночас користувач може змінити значення полів. Після завершення користувач може зберегти зміни, внесені до запису. |
FormMode.New | Ця форма заповнюється значеннями за замовчуванням. Користувач може змінити значення полів. Після завершення користувач може додати запис до джерела даних. |
FormMode.View | Форма заповнюється наявним записом, проте користувач не може змінити значення полів. |
Опис
Ці функції часто викликаються з формули OnSelect елемента керування кнопкою або зображенням , щоб користувач міг зберегти редагування, відмовитися від редагувань або створити запис. Для створення комплексного рішення можна використовувати елементи керування та ці функції разом.
Вищевказані функції не повертають жодних значень.
Ці функції можна використовувати лише у формулах поведінки.
SubmitForm
Скористайтеся функцією SubmitForm у властивості OnSelect елемента керування «Кнопка», щоб зберегти зміни, внесені до елемента керування «Форма», у джерелі даних.
Перш ніж передавати зміни, ця функція виконує пошук проблем перевірки будь-якого поля, яке позначене як обов’язкове чи має одне або кілька обмежень для власного значення. Така поведінка відповідає функції Validate.
SubmitForm також перевіряє властивість Valid форми, яка є сукупністю всіх властивостей Valid елементів керування карткою, які містить елемент керування Form . У разі виникнення проблеми дані не передаються, а значення властивостей Error та ErrorKind елемента керування «Форма» змінюються відповідно.
Якщо перевірку пройдено, функція SubmitForm передає зміни до джерела даних.
- У разі успіху виконується поведінка форми OnSuccess , а властивості Error і ErrorKind очищаються. Якщо форма перебувала в режимі FormMode.New, вона повернеться до режиму FormMode.Edit.
- У разі невдачі виконується поведінка форми OnFailure і відповідно встановлюються властивості Error іErrorKind. Режим форми не змінюється.
EditForm
Функція EditForm змінює режим елемента керування «Форма» на FormMode.Edit. У цьому режимі вміст властивості Item елемента керування «Форма» використовується для заповнення форми. У разі запуску функції SubmitForm, коли форма перебуває в цьому режимі, запис змінюється, а не створюється. FormMode.Edit є значенням за замовчуванням для елемента керування «Форма».
Нотатка
Якщо форма знаходиться в режим редагування, а елемент має значення null, властивості картки даних не обчислюються, а повертають значення за промовчанням.
NewForm
Функція NewForm змінює режим елемента керування «Форма» на FormMode.New. У цьому режимі вміст властивості Item елемента керування «Форма» ігнорується, і для заповнення форми використовуються значення за замовчуванням властивості DataSource цього елемента керування. У разі запуску функції SubmitForm, коли форма перебуває в цьому режимі, запис створюється, а не змінюється.
ResetForm
Функція ResetForm скидає вміст форми до початкових значень, які існували до внесення змін користувачем. Якщо форма перебуває в режимі FormMode.New, вона повернеться до режиму FormMode.Edit. Також запуститься поведінка OnReset елемента керування «Форма». За допомогою функції Reset можна також скидати окремі елементи керування, однак тільки з форми.
ViewForm
Функція ViewForm змінює режим елемента керування «Форма» на FormMode.View. У цьому режимі вміст властивості Item елемента керування «Форма» використовується для заповнення форми. У цьому режимі не діють функції SubmitForm і ResetForm.
Властивість «DisplayMode»
Поточний режим можна переглянути за допомогою властивості Mode. Режим також визначає значення властивості DisplayMode, яке можуть використовувати картки даних та елементи керування в межах елемента керування «Форма». Часто для властивості DisplayMode картки даних буде встановлюватися значення Parent.DisplayMode (що посилається на форму), як і для властивості DisplayMode елемента керування (що посилається на картку даних).
Режим | DisplayMode | Опис |
---|---|---|
FormMode.Edit | DisplayMode.Edit | Картки даних і елементи керування можна редагувати, і вони готові прийняти зміни до запису. |
FormMode.New | DisplayMode.Edit | Картки даних і елементи керування можна редагувати, і вони готові прийняти новий запис. |
FormMode.View | DisplayMode.View | Картки даних і елементи керування не можна редагувати, водночас їх оптимізовано для перегляду. |
Синтаксис
SubmitForm( FormName )
- FormName – обов’язковий аргумент. Елемент керування «Форма» для передачі до джерела даних.
EditForm( FormName )
- FormName – обов’язковий аргумент. Елемент керування «Форма», який потрібно перевести в режим FormMode.Edit.
NewForm( FormName )
- FormName – обов’язковий аргумент. Елемент керування «Форма», який потрібно перевести в режим FormMode.New.
ResetForm( FormName )
- FormName – обов’язковий аргумент. Елемент керування «Форма» для скидання до початкових значень. Також переводить форму з режиму FormMode.New у режим FormMode.Edit.
ViewForm( FormName )
- FormName – обов’язковий аргумент. Елемент керування «Форма», який потрібно перевести в режим FormMode.View.
Приклади
Повні приклади див. в статті Ознайомлення з формами даних.
Додайте елемент керування «Кнопка», настройте його властивість Text на відображення слова Save (Зберегти), а властивість OnSelect – відповідно до нижченаведеної формули.
SubmitForm( EditForm )
Установіть для властивості OnFailure елемента керування «Форма» пусте значення та настройте його властивість OnSuccess відповідно до вказаної нижче формули.
Back()
Дайте елементу керування Підпис ім’я ErrorText (Текст помилки) і настройте його властивість Text відповідно до нижчезазначеної формули.
EditForm.Error
У разі натискання користувачем кнопки Save будь-які зміни, внесені до елемента керування «Форма», передаватимуться до базового джерела даних.
- Якщо передача завершиться успішно, буде збережено зміни або (якщо елемент керування «Форма» перебуває в режимі New (Новий)) створено запис. Елемент керування з ім’ям ErrorText буде пустим, і знову відобразиться попередній екран.
- Якщо передача завершиться помилкою, елемент керування з ім’ям ErrorText відобразить зрозуміле повідомлення про помилку, а поточний екран не закриється, щоб користувач міг усунути проблему і повторити спробу.
Додайте елемент керування «Кнопка», настройте його властивість Text на відображення слова Cancel (Скасувати), а властивість OnSelect – відповідно до зазначеної нижче формули.
ResetForm( EditForm ); Back()
У разі натискання користувачем кнопки Cancel значення в елементі керування «Форма» скидаються до значень, які були до початку внесення змін користувачем, знову відображається попередній екран, а елемент керування «Форма» повертається до режиму Edit (Редагування), якщо до цього він перебував у режимі New.
Додайте елемент керування «Кнопка», настройте його властивість Text на відображення слова New (Новий), а властивість OnSelect – відповідно до нижченаведеної формули.
NewForm( EditForm ); Navigate( EditScreen, None )
У разі натискання користувачем кнопки New елемент керування «Форма» переходить у режим New, цей елемент заповнюється значеннями за замовчуванням для його джерела даних та відображається екран, що містить елемент керування «Форма». У разі застосування функції SubmitForm запис створюється, а не оновлюється.