Створення форми зведення у компонованій програмі
Дотримуйтеся покрокових інструкцій, щоб створити форму зведення у компонованій програмі для керування вигаданими даними в базі даних Northwind Traders. Цей розділ є частиною серії, в якій описується процедура створення бізнес-програми на основі реляційних даних у Microsoft Dataverse. Для отримання найкращих результатів ознайомтеся з розділами по порядку:
- Створення галереї замовлень.
- Створення форми зведення (цей розділ).
- Створення галереї відомостей.
Вимоги
- Встановлення бази даних і програм Northwind Traders.
- Перегляньте огляд компонованої програми для Northwind Traders.
- Створіть колекцію замовлень самостійно або відкрийте програму Замовлення Northwind (Полотно) — Початок частини 2, яка вже містить цю колекцію.
Додавання рядка заголовка
У верхній частині програми створіть рядок заголовка, який міститиме в кінці цього розділу кнопки дій.
В області Подання дерева виберіть Screen1, щоб запобігти випадковому додаванню елемента керування до колекції замовлень:
На вкладці Вставлення виберіть Надпис, щоб додати елемент керування Надпис:
Новий надпис має з'явитися лише раз, над колекцією. Якщо надпис з'явиться в кожному елементі колекції, видаліть перший екземпляр надпису, переконайтеся, що екран вибрано (згідно з попереднім кроком), а потім вставте надпис ще раз.
Перемістіть і змініть розмір нового надпису, щоб він охоплював верхню частину екрана:
Двічі клацніть текст надпису, а потім введіть "Замовлення Northwind".
В якості альтернативи, можна змінити властивість Текст в рядку формул, щоб досягти такого самого результату:
На вкладці Основне, відформатуйте надпис:
- Збільште розмір шрифту до 24 пунктів.
- Зробіть текст жирним.
- Зробіть текст білим.
- Вирівняйте текст по центру.
- Додайте темно-синю заливку до тла.
Додавання елемента керування "Форма редагування"
У цьому розділі ми додамо елементи керування, щоб відобразити зведення замовлення, вибраного користувачем в колекції.
На вкладці Вставлення, вставте елемент керування Форма редагування.
За замовчуванням форма відображається у верхньому лівому куті, де її може бути важко знайти через інші елементи керування.
Перемістіть і змініть розмір форми, щоб покрити верхній правий кут екрана під рядком заголовка.
В області Властивості виберіть розкривний список Джерело даних.
Виберіть джерело даних Замовлення.
Додавання та впорядкування полів
Біля правого краю вкладки Властивості виберіть Редагувати поля, щоб відкрити панель Поля.
Якщо область Поля не пуста, вилучіть вже вставлені поля.
Спорожнивши список полів, виберіть Додати поле, а потім встановіть прапорці для полів Клієнт та Працівник.
Прокрутіть вниз, щоб відобразити ці поля, а потім натисніть на їх прапорці.
- Нотатки
- Дата замовлення
- Номер замовлення
- Стан замовлення
- Дата оплати
У нижній частині області Поля натисніть кнопку Додати, а потім закрийте область Поля.
У формі відобразяться сім полів, можливо в іншому порядку:
Примітка
Якщо у будь-якому полі відображається червона піктограма помилки то, можливо, сталася помилка під час витягування даних з джерела. Щоб усунути помилку, оновіть дані:
- На вкладці Подання виберіть Джерела даних.
- В області Дані виберіть пункт Джерела даних.
- Натисніть три крапки (...) поруч із замовленнями, натисніть Оновити, а потім закрийте область даних.
Якщо поле зі списком для клієнта або працівника все ще показує помилку, перевірте Основний текст та SearchField кожного поля, вибравши його, а потім відкривши область Дані. В полі клієнта, для обох полів слід задати значення nwind_company. В полі працівника, для обох полів слід задати значення nwind_lastname.
Виберіть форму та змініть кількість стовпців у ній з 3 до 12 на вкладці Властивості біля правого краю.
Це додасть гнучкості під час впорядкування полів.
Більшість дизайнів інтерфейсу базуються на макетах з 12 стовпцями, оскільки вони можуть рівномірно вмістити рядки з 1, 2, 3, 4, 6 і 12 елементами керування. У цьому розділі ми створимо рядки, що містять 1, 2 або 4 елементи керування.
Переміщуйте та змінюйте розміри полів перетягуванням їх маркерів, як і з будь-яким іншим елемент керування, щоб кожен рядок містив картки даних у вказаному порядку:
- Перший рядок: Номер замовлення, Стан замовлення, Дата замовлення та Дата оплати
- Другий рядок: Клієнт та Працівник
- Третій рядок: Примітки
Примітка
Можливо, буде легше розширити картки даних Примітки, Клієнт та Працівник, перш ніж упорядковувати їх.
Додаткові відомості про впорядкування полів у формі: Ознайомлення з макетом форми даних для компонованих програм.
Приховування елементів керування часом
У цьому прикладі нам не потрібні часові частини полів дат, оскільки такий рівень деталізації може відволікати користувача. Якщо їх видалити можуть виникнути проблеми у формулах, які використовують ці елементи керування для оновлення значень дат або визначення позиції іншого елемента керування в картці даних. Замість цього, ми приховаємо елементи керування часом, встановивши їх властивість видимості.
В області Подання дерева виберіть картку даних Дата замовлення.
Картка може мати іншу назву, але вона містить дату замовлення.
Утримуючи клавішу Shift, виберіть у картці даних Дата замовлення елементи керування години, хвилини та двокрапки-роздільника.
Встановіть властивість Видимість елемента керування на FALSE.
Усі вибрані елементи керування зникнуть зі форми.
Змініть розмір елемента керування Вибір дати, щоб показати повну дату:
Потім повторіть останні кроки для поля Дата оплати.
В області Подання дерева виберіть елементи керування часом в картці даних Дата сплати:
Встановіть властивість Видимість вибраних елементів керування на FALSE:
Змініть розмір вибору дати в картці Дата сплати:
Підключення колекції замовлень
В області подання дерева згорніть форму, щоб легше знайти ім'я колекції замовлень, а потім, за потреби, перейменуйте її на Gallery1.
Встановіть вказаний нижче вираз як значення властивості Елемент форми зведення:
Gallery1.Selected
У формі відображається зведення будь-якого замовлення, вибраного користувачем програми у списку.
Заміна картки даних
Номер замовлення — це ідентифікатор, який Dataverse автоматично призначає під час створення запису. У цьому полі за замовчуванням використовується елемент керування Введення тексту, але ми його замінимо на надпис, щоб користувач не міг редагувати це поле.
Виберіть форму, виберіть Редагувати поля біля правого краю вкладки Властивості, а потім виберіть поле Номер замовлення:
Відкрийте список типів елементів керування:
Виберіть картку даних Переглянути текст:
Закрийте область Поля.
Користувач більше не зможе змінити номер замовлення.
На вкладці Основне задайте розмір шрифту номера замовлення у 20 пунктів, щоб поле було легше знайти:
Використання зв'язку "багато-до-одного"
Таблиця Замовлення має зв'язок «багато-до-одного» з таблицею Працівники — кожен працівник може створити багато замовлень, але кожне замовлення можна призначити лише одному працівнику. Коли користувач вибирає співробітника в елементі керування «Список», його властивість «Вибране » надає весь запис цього співробітника з таблиці «Співробітники · ». Як результат, можна настроїти елемент керування Зображення, щоб показувати зображення працівника, обраного користувачем у полі зі списком.
Виберіть картку даних Працівник:
Біля правого краю вкладки Додатково, розблокуйте картку даних, щоб можна було редагувати формули, раніше доступні лише для читання.
У картці даних зменште ширину поля зі списком, щоб звільнити місце для зображення працівника.
На вкладці Вставка виберіть Медіадані > Зображення.
Зображення відобразиться у картці даних, яка розшириться, щоб вмістити його:
Змініть розмір зображення та перемістіть його праворуч від поля зі списком:
Задайте значенням одноіменної властивості зображення цю формулу, замінивши, в разі необхідності, номер в кінці DataCardValue:
DataCardValue7.Selected.Picture
Відобразиться зображення вибраного працівника.
Утримуючи клавішу Alt, виберіть у полі зі списком іншого працівника, щоб підтвердити, що зображення також змінюється.
Додавання піктограми збереження
В області Подання дерева виберіть Screen1, а потім виберіть пункт Вставити > Піктограми > Прапорець.
За замовчуванням піктограма Прапорець відображається у верхньому лівому куті, де її може бути важко знайти через інші піктограми.
На вкладці Основне змініть властивість піктограми Колір на білий, змініть розмір піктограми та перемістіть її до правого краю панелі заголовка.
В області Подання дерева переконайтеся, що ім'я форми — Form1 та задайте значенням властивості OnSelect піктограми цю формулу.
SubmitForm( Form1 )
Коли користувач вибере піктограму, функція SubmitForm збирає всі змінені значення у формі і подає їх до джерела даних. Від час передачі даних у верхній частині екрана рухаються точки, а колекція замовлень відображає зміни після завершення процесу.
Задайте значенням властивості DisplayMode піктограми цю формулу:
If( Form1.Unsaved, DisplayMode.Edit, DisplayMode.Disabled )
Якщо всі зміни у формі збережено, піктограма вимкнеться і відобразиться в DisabledColor, який ми задамо далі.
Задайте властивості DisabledColor піктограми це значення:
Gray
Користувач зможе зберегти зміни в замовленні, натиснувши піктограму-прапорець, який вимкнеться та затемниться, доки користувач не внесе іншу зміну.
Додавання піктограми скасування
На вкладці Вставка виберіть Піктограми > скасування.
За замовчуванням піктограма відображається у верхньому лівому куті, де її може бути важко знайти через інші елементи керування.
На вкладці Основне змініть властивість піктограми Колір на білий, змініть розмір піктограми та перемістіть ліворуч від піктограми прапорця.
В якості значення властивості піктограми скасування OnSelect встановіть таку формулу:
ResetForm( Form1 )
Функція ResetForm відкине всі зміни у формі, що поверне її до початкового стану.
В якості значення властивості піктограми скасування DisplayMode встановіть таку формулу:
If( Form1.Unsaved Or Form1.Mode = FormMode.New, DisplayMode.Edit, DisplayMode.Disabled )
Ця формула дещо відрізняється від формули для піктограми-прапорця. Піктограма скасування вимкнеться, якщо всі зміни у формі збережено, або якщо форма в режимі Новий, який ми увімкнемо далі. У цьому випадку ResetForm відкидає новий запис.
Задайте властивості DisabledColor піктограми скасування це значення:
Gray
Користувач зможе скасувати зміни до замовлення, а піктограми "Прапорець" та "скасування" вимкнуться та затемняться, якщо збережено всі зміни.
Додавання піктограми додавання
На вкладці Вставка виберіть Піктограми > Додавання.
За замовчуванням піктограма додавання відображається у верхньому лівому куті, де її може бути важко знайти через інші елементи керування.
На вкладці Основне задайте властивості піктограми додавання Колір значення "білий", змініть розмір піктограми та перемістіть ліворуч від піктограми скасування.
В якості значення властивості OnSelect піктограми додавання, встановіть таку формулу:
NewForm( Form1 )
Функція NewForm відображає пустий запис у формі.
Задайте значенням властивості DisplayMode піктограми додавання цю формулу:
If( Form1.Unsaved Or Form1.Mode = FormMode.New, DisplayMode.Disabled, DisplayMode.Edit )
Формула вимикає піктограму додавання за наступних умов:
- Користувач вносить зміни, але не зберігає і не скасовує їх, — протилежність поведінки піктограм "Прапорець" та "Скасування".
- Користувач вибирає піктограму додавання, але не вносить жодних змін.
Задайте властивості DisabledColor піктограми додавання це значення:
Gray
Користувач може створити замовлення, якщо він не вніс жодних змін, або зберіг чи скасував внесені зміни. (Якщо користувач вибере цю піктограму, її не можна вибрати його ще раз, доки не внесено, а потім збережено чи скасовано, одну або кілька змін).
Примітка
Після створення та збереження замовлення, може виникнути необхідність прокрутити колекцію замовлень, щоб відобразити нове замовлення. Замовлення не матиме загальної ціни, оскільки ще не додано жодних відомостей про замовлення.
Додавання піктограми "Кошик"
На вкладці Вставка виберіть Піктограми > Кошик.
За замовчуванням піктограма Кошик відображається у верхньому лівому куті, де її може бути важко знайти через інші елементи керування.
На вкладці Основне змініть властивість піктограми "кошик" Колір на білий, змініть розмір піктограми та перемістіть ліворуч від піктограми додавання.
В якості значення властивості OnSelect піктограми "Кошик", встановіть таку формулу:
Remove( Orders, Gallery1.Selected )
Функція Вилучення вилучає запис із джерела даних. У цій формулі функція вилучає запис, вибраний в колекції замовлень. Піктограма "кошик" відображається поруч з формою зведення (а не колекцією замовлень), оскільки у формі відображаються докладні відомості про запис, тому користувач може легше визначити запис, який слід видалити формулою.
Задайте значенням властивості DisplayMode піктограми "кошик" цю формулу:
If( Form1.Mode = FormMode.New, DisplayMode.Disabled, DisplayMode.Edit )
Ця формула вимикає піктограму "кошик", якщо користувач створює запис. Доки користувач не збереже запис, у функції Вилучення немає чого видаляти.
Задайте властивості DisabledColor піктограми "кошик" це значення:
Gray
Користувач може видалити замовлення.
Підсумок
Отже, ми додали форму, в якій користувач може відображати та редагувати зведення кожного замовлення, а також використовувати зазначені нижче елементи:
- Форма, в якій відображаються дані з таблиці Замовлення: Form1.DataSource =
Orders
- З'єднання між формою та колекцією замовлень: Form1.Item =
Gallery1.Selected
- Альтернативний елемент керування для поля Номер замовлення: Перегляд тексту
- Зв'язок "багато-до-одного" для відображення зображення працівника у картці даних Працівник:
DataCardValue1.Selected.Picture
- Піктограма для збереження змін у замовленні:
SubmitForm( Form1 )
- Піктограма для скасування змін у замовленні:
ResetForm( Form1 )
- Піктограма для створення замовлення:
NewForm( Form1 )
- Піктограма для видалення замовлення:
Remove( Orders, Gallery1.Selected )
Наступний крок...
У наступному розділі ми додамо ще одну колекцію, щоб показувати товари в кожному замовленні, а також змінювати ці відомості за допомогою функції виправлення.
Примітка
Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)
Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).