Visual Basic 6. Руководство разработчика


         

Проектирование иерархии объектов


Command

Проект, называющийся DataRep, находится в папке этой главы на компакт-диске. В этом параграфе созданы несколько объектов Command, организованных в иерархическую структуру. Названия всех компаний содержатся в таблице Customers. Найдем для каждой компании выписанные ею счета и общее их количество. А для каждого счета - его подробное описание и итоги. Отобразим иерархию записей с помощью элемента управления Grid (элемент управления типа MSHFlexGrid). Элемент управления MSHFlexGrid похож на элемент управления MSFlexGrid, однако предназначен для использования с базами данных и с иерархией элементов управления Command.

Первая колонка содержит имена компаний, вторая — количество счетов для каждой компании, третья - итоговую сумму по всем счетам компании. Последующие колонки должны показывать номер счета, дату заказа и сумму заказа. На рис. 18.2 представлены данные, отображаемые в элементе управления MSHFlexGrid. Обратите внимание, что детали некоторых из заказчиков скрыты. Символ плюса перед именем заказчика означает, что строки с деталями могут быть раскрыты.

Рис. 18.2. Иерархия объектов Command (заказчики-счета-сумма), отображаемые в элементе управления FlexGnd

Выполните следующие действия.

1. Откройте новый Data-проект и создайте объект Connection для базы NWIND, как показано в последнем параграфе.

2. Добавьте новый объект Command (Commandl), откройте диалоговое окно его свойств (щелкните правой кнопкой на имени Commandl и выберите Properties).

3. В окне Properties объекта Commandl установите значение свойства Connection в Connection 1 и выберите Source of Data (Источник данных).

Имена компаний приведены в таблице Customers базы данных NWIND, поэтому выберите строку Table в списке Database Object и Customers - в списке Object Name. После выбора Table в первом раскрывающемся списке появятся имена всех таблиц.

Мы хотим получить счета каждого заказчика. Это означает, что необходимо создать новый объект Command, который будет принадлежать уже созданному объекту Commandl, те будет дочерним для объекта Commandl. Commandl содержит данные о заказчиках, а дочерний объект — счета заказчиков.




Содержание  Назад  Вперед