Обзор приложения на основе холста для Northwind Traders
Узнайте о приложении на основе холста для управления реляционными данными в базе данных Northwind Traders, которую вы установили в своей среде. Затем следуйте пошаговым инструкциям в последующих разделах, чтобы создать это приложение с нуля, что позволит получить практический опыт работы с реляционными данными.
В этой теме вы узнаете:
- Как пользователь приложения показывает реляционные данные в приложении и управляет ими.
- Какие типы данных управляют приложением.
- Как отношения между этими типами данных были созданы.
На одном экране пользователь приложения может отображать, обновлять, создавать и удалять заказы.
Знакомство с интерфейсом пользователя
Коллекция заказов
На левом краю приложения коллекция отображает список заказов, включая номер заказа, статус, имя клиента и общую стоимость заказа. Пользователь может прокрутить список, чтобы найти заказ, а затем показать дополнительную информацию о нем, выбрав стрелку заказа. Дополнительные сведения: Создание коллекции заказов.
Сводная форма
В верхнем правом углу форма суммирует заказ, выбранный пользователем в коллекции заказов. Сводка включает в себя большую часть той же информации, что и эта коллекция, но в сводке также указаны даты, когда заказ был создан и оплачен, а также имя и фотография сотрудника, который управлял заказом. Пользователь может изменить данные в форме, сохранить эти изменения, отменить их или удалить заказ, выбрав значок рядом с правым краем строки заголовка. Дополнительные сведения: Создание сводной формы.
Коллекция сведений
В правом нижнем углу другая коллекция показывает информацию о том, какие продукты содержит выбранный заказ и в каких количествах. Каждый элемент в этой коллекции известен как сведения о заказе. Пользователь приложения может добавлять и удалять любой элемент в этой коллекции, используя элементы управления внутри него и под ним. Дополнительные сведения: Создание коллекции сведений.
Просматривайте источники данных
Чтобы создать это приложение, вы будете показывать данные из пяти таблиц и набора выбора. В самом деле, большинство областей этого приложения показывают данные из нескольких таблиц. Например, коллекция заказов содержит эту информацию:
- Номер заказа является полем в таблице Заказы.
- Статус является еще одним полем в таблице Заказы, вариантом из набора выбора Статус заказа.
- Имя клиента является полем в таблице Клиенты.
- Общая стоимость рассчитывается на основе данных в таблице Сведения о заказе.
Сводка содержит некоторые из этих же сведения, такие как список заказов, но также содержит имя и фотографию сотрудника, который обрабатывал заказ. Эта информация берется из полей в таблице Сотрудники. В коллекции сведений представлены записи из таблице Сведения о заказе, и каждый продукт в этих сведениях является записью в таблице Продукты заказа.
Изучение отношений
Вы можете показывать данные из разных источников (например, таблицы) в одной коллекции или форме, поскольку эти таблицы имеют отношения, которые были созданы для вас в базе данных.
Отношения "многие к одному"
Например, информация о клиенте и сотруднике по каждому заказу находится в таблицах Клиенты и Сотрудники. Таким образом, таблица Заказы имеет отношения много-к-одному с этими таблицами, потому что есть много заказов, каждый из которых может быть размещен только одним клиентом и управляется только одним сотрудником.
В каждом заказе также есть одна или несколько позиций строки, представляющих продукты, содержащиеся в заказе, и их количество. Каждая номенклатура строки является записью в таблице Сведения о заказе, которая берет информацию о каждом продукте из таблицы Продукты заказа. Каждые сведения идентифицирует только один продукт, но каждый продукт может отображаться в нескольких сведениях. Таким образом, таблица Сведения о заказе имеет отношение многие-к-одному с таблицей Продукты заказа.
Отношения "один ко многим"
Каждый заказ может содержать несколько позиций строки, но каждая позиция строки относится только к одному заказу. Таким образом, таблица Заказы имеет отношение один-ко-Многим с таблицей Сведения о заказе.
Точечная запись для отношений
Чтобы показать данные, основанные на взаимосвязи между таблицами, можно использовать селектор свойства точек, чтобы перейти по отношению от одной таблицы к другой. Например, каждая запись в таблице Заказы получает информацию из таблицы Клиенты, чтобы в коллекции заказов можно было показать имена клиентов. В этой коллекции вы настраиваете это поведение, устанавливая для свойства Text метки следующее выражение:ThisItem.Customer.Company
ThisItem указывает запись в таблице Заказы и извлекает информацию из таблицы Клиенты о клиенте, который разместил заказ. В этом случае выражение указывает, что появляется название компании клиента. Однако вся запись об этом клиенте извлекается, поэтому вы могли бы с такой же легкостью показать, например, адрес электронной почты этого клиента.
В качестве еще одного примера перехода от одной таблицы к другой можно указать, что коллекция должна показывать записи в одной таблице на основе записи, которую пользователь выбрал в другой коллекции и которая находится в другой таблице. Чтобы показать детали заказа, вы установите для свойства Items коллекции сведений следующее выражение:Gallery1.Selected.'Order Details'
В этом случае Gallery1.Selected указывает запись в таблице Заказы, так же как ThisItem в предыдущем примере. Однако это выражение не извлекает только одну запись, как это делало предыдущее выражение. Вместо этого оно извлекает целую таблицу записей, чтобы показать имя и стоимость единицы каждого продукта (как отражено в таблице Продукты заказа) и количество (как отражено в таблице Сведения о заказе).
Сделайте сами
Вы можете следовать пошаговым инструкциям для создания приложения на основе холста Northwind Orders. Инструкции разделены на три части:
Если вы хотите пропустить что-то, решение содержит отправную точку приложения для каждой части. В списке приложений ищите Northwind Orders (холст) — начало части 1 и так далее.
Примечание
Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).
Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).