конструктора DataEnvironment при работе с элементом управления MSHFIexGrid
Один из новых и самых интересных элементов управления
Visual Basic 6 -элемент управления FlexGrid (или MSHFlexGnd) Он похож на элемент управления MSFlexGnd (см гл 9), но предназначен для использования с иерархическими объектами ADO. Каждый объект автоматически размещается в своей собственной группе, причем можно развернуть и свернуть строки иерархического элемента управления FlexGrid, как узлы элемента управления TreeView. В параграфе "Проектирование иерархии объектов Command" были показаны записи, возвращенные иерархией объектов (см. рис. 18.2). Обратите внимание: имя каждой компании, отображенное в первой колонке, имеет перед собой знак "+" или "-" Этот знак показывает, что подробности о соответствующих компаниях можно показать или скрыть.
Построим форму, показанную ранее на рис. 18.2. Для этого выполните следующие действия.
1. Переименуйте форму проекта в DetailsForm и сделайте ее достаточно широкой, чтобы поместились все столбцы.
2. Откройте окно DataEnvironmentI и убедитесь, что оба окна видимы на экране.
Элемент управления MSHFlexGrid по умолчанию на панели элементов управления проекта отсутствует. Он появляется при создании проекта Data. Если значок объекта MsHFlexGrid не виден, то откройте диалоговое окно Components и добавьте компонент Microsoft Hierarchical FlexGrid Control 6.0 (OLEDB). Поместите экземпляр этого компонента на форму.
3. Выберите элемент управления MSHFlexGrid и найдите его свойство DataSource в окне Properties.
4. Установите свойство DataSource в DataEnvironmentI (выберите его из раскрывающегося списка), а свойство DataMember в Command 1 (подключив, таким образом, иерархию элементов управления из окна DataEnvironmentI к элементу Command I).
5. Щелкните правой кнопкой мыши и выберите из контекстного меню команду Retrieve Structure (Получить структуру). Все поля, перечисленные в окне DataEnvironmentI, добавятся к элементу управления в качестве заголовков. Понятно, что нет надобности отображать все поля определите, какие поля появятся в столбцах и как они будут выглядеть.