Компоненты TreeData
Я написал компоненты TreeData, чтобы облегчить просмотр иерархических данных, перемещение и управление ими. Информация отображается в виде графического дерева, каждый уровень которого обозначается соответствую щим отступом. Для каждого объекта выводятся имена всех его предков, а приложение может получить список идентификаторов всех предков или потомков. В это семейство входит несколько компонентов, перечисленных в табл. 13.4.
Таблица 13.4. Семейство компонентов TreeData
Элемент TreeDataComboBox TreeDataOutline |
Описание Отображает дерево объектов в виде раскрывающегося списка; каждому уровню иерархии соответствует определенный отступ; в текстовом поле отображается список предков Допускает последовательный (incremental) поиск по содержимому текстового поля или списка Выбранные идентификаторы связываются с источником данных Отображает все дерево в графическом виде, допускает раскрытие и сворачивание отдельных ветвей Выбранные идентификаторы связываются с источником данных |
Применение Выбор отдельного объекта; получение идентификаторов всех предков или потомков объекта Выбор отдельного объекта; получение идентификаторов всех предков или потомков объекта |
Элемент TreeDataListBox TreeDataUpdate |
Описание Комбинация TreeDataComboBox и списка. Все выбранные идентификаторы связываются с источником данных TreeOutline, дополненный функциями редактирования и обновления записей, образующих иерархическую структуру. Немедленное или кэшированное обновление источника данных |
Применение Выбор произвольного количества объектов, сохранение или загрузка их в виде набора записей Поддержание иерархического набора записей |
В элементах семейства TreeData воплощено многое из того, что обсужда лось в этой главе. К сожалению, исходный текст этих элементов состоит из нескольких тысяч строк (его можно найти на CD-ROM, прилагаемом к книге). В них используется общий набор процедур, загружающих все дерево из таблицы в структуру, расположенную в памяти, и изменяющих поведение базовых элементов для иерархического отображения данных.