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


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

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

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

Зведення

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

Режим Опис
FormMode.Редагувати Форма заповнюється наявним записом, водночас користувач може змінити значення полів. Після завершення користувач може зберегти зміни, внесені до запису.
FormMode.Новий Ця форма заповнюється значеннями за замовчуванням. Користувач може змінити значення полів. Після завершення користувач може додати запис до джерела даних.
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 є стандартним для елемента керування Form.

Нотатка

Коли форма знаходиться в режимі редагування, а Item дорівнює 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.Редагувати DisplayMode.Редагувати Картки даних і елементи керування можна редагувати, і вони готові прийняти зміни до запису.
FormMode.Новий DisplayMode.Редагувати Картки даних і елементи керування можна редагувати, і вони готові прийняти новий запис.
FormMode.View DisplayMode.View Картки даних і елементи керування не можна редагувати, водночас їх оптимізовано для перегляду.

Синтаксис

SubmitForm( Ім’я форми)

  • FormName - обов’язковий. Елемент керування «Форма» для передачі до джерела даних.

EditForm( Ім’я форми)

  • FormName - обов’язковий. Елемент керування «Форма», який потрібно перевести в режим FormMode.Edit.

NewForm( Ім’я форми)

  • FormName - обов’язковий. Елемент керування «Форма», який потрібно перевести в режим FormMode.New.

ResetForm( Ім’я форми)

  • FormName - обов’язковий. Елемент керування «Форма» для скидання до початкових значень. Також переводить форму з режиму FormMode.New у режим FormMode.Edit.

ViewForm( Ім’я форми)

  • FormName - обов’язковий. Елемент керування «Форма», який потрібно перевести в режим FormMode.View.

Приклади

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

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

    SubmitForm( EditForm )

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

    Назад()

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

    EditForm.Error

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

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

    ResetForm( EditForm ); Назад()

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

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

    NewForm( EditForm ); Навігація( EditScreen, Немає )

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