Поділитися через


Функції EditForm, NewForm, SubmitForm, ResetForm і ViewForm

Застосовується до: програм Canvas

Перегляд, редагування або створення елемента, збереження вмісту та скидання елементів керування в елементі керування Форма редагування.

Зведення

Ці функції змінюють стан елемента керування Форма редагування. Елемент керування формою може перебувати в одному з нижчезазначених режимів.

Режим Опис
FormMode.Edit Форма заповнюється наявним записом, водночас користувач може змінити значення полів. Після завершення користувач може зберегти зміни, внесені до запису.
FormMode.New Ця форма заповнюється значеннями за замовчуванням. Користувач може змінити значення полів. Після завершення користувач може додати запис до джерела даних.
FormMode.View Форма заповнюється наявним записом, проте користувач не може змінити значення полів.

Опис

Ці функції часто викликаються з формули OnSelect елемента керування кнопкою або зображенням , щоб користувач міг зберегти редагування, відмовитися від редагувань або створити запис. Для створення комплексного рішення можна використовувати елементи керування та ці функції разом.

Вищевказані функції не повертають жодних значень.

Ці функції можна використовувати лише у формулах поведінки.

SubmitForm

Скористайтеся функцією SubmitForm у властивості OnSelect елемента керування «Кнопка», щоб зберегти зміни, внесені до елемента керування «Форма», у джерелі даних.

Перш ніж передавати зміни, ця функція виконує пошук проблем перевірки будь-якого поля, яке позначене як обов’язкове чи має одне або кілька обмежень для власного значення. Така поведінка відповідає функції Validate.

SubmitForm також перевіряє властивість Valid форми, яка є сукупністю всіх властивостей Valid елементів керування карткою, які містить елемент керування Form . У разі виникнення проблеми дані не передаються, а значення властивостей Error та ErrorKind елемента керування «Форма» змінюються відповідно.

Якщо перевірку пройдено, функція SubmitForm передає зміни до джерела даних.

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.

Приклади

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

  1. Додайте елемент керування «Кнопка», настройте його властивість Text на відображення слова Save (Зберегти), а властивість OnSelect – відповідно до нижченаведеної формули.

    SubmitForm( EditForm )

  2. Установіть для властивості OnFailure елемента керування «Форма» пусте значення та настройте його властивість OnSuccess відповідно до вказаної нижче формули.

    Back()

  3. Дайте елементу керування Підпис ім’я ErrorText (Текст помилки) і настройте його властивість Text відповідно до нижчезазначеної формули.

    EditForm.Error

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

    • Якщо передача завершиться успішно, буде збережено зміни або (якщо елемент керування «Форма» перебуває в режимі New (Новий)) створено запис. Елемент керування з ім’ям ErrorText буде пустим, і знову відобразиться попередній екран.
    • Якщо передача завершиться помилкою, елемент керування з ім’ям ErrorText відобразить зрозуміле повідомлення про помилку, а поточний екран не закриється, щоб користувач міг усунути проблему і повторити спробу.
  4. Додайте елемент керування «Кнопка», настройте його властивість Text на відображення слова Cancel (Скасувати), а властивість OnSelect – відповідно до зазначеної нижче формули.

    ResetForm( EditForm ); Back()

    У разі натискання користувачем кнопки Cancel значення в елементі керування «Форма» скидаються до значень, які були до початку внесення змін користувачем, знову відображається попередній екран, а елемент керування «Форма» повертається до режиму Edit (Редагування), якщо до цього він перебував у режимі New.

  5. Додайте елемент керування «Кнопка», настройте його властивість Text на відображення слова New (Новий), а властивість OnSelect – відповідно до нижченаведеної формули.

    NewForm( EditForm ); Navigate( EditScreen, None )

    У разі натискання користувачем кнопки New елемент керування «Форма» переходить у режим New, цей елемент заповнюється значеннями за замовчуванням для його джерела даних та відображається екран, що містить елемент керування «Форма». У разі застосування функції SubmitForm запис створюється, а не оновлюється.