Russian version
English version
ОБ АЛЬЯНСЕ | НАШИ УСЛУГИ | КАТАЛОГ РЕШЕНИЙ | ИНФОРМАЦИОННЫЙ ЦЕНТР | СТАНЬТЕ СПОНСОРАМИ SILICON TAIGA | ISDEF | КНИГИ И CD | ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ | УПРАВЛЕНИЕ КАЧЕСТВОМ | РОССИЙСКИЕ ТЕХНОЛОГИИ | НАНОТЕХНОЛОГИИ | ЮРИДИЧЕСКАЯ ПОДДЕРЖКА | АНАЛИТИКА | КАРТА САЙТА | КОНТАКТЫ
 
Программное обеспечение
 
Для зарегистрированных пользователей
 
РАССЫЛКИ НОВОСТЕЙ
IT-Новости
Новости компаний
Российские технологии
Новости ВПК
Нанотехнологии
 
Поиск по статьям
 
RSS-лента
Подписаться
Документация

Иерархические структуры в VB

Древовидные, иерархические структуры могут быть описаны различными способами. Выбор способа описания зависит от множества факторов:

  • необходимость и интенсивность редактирования структуры
  • требование доступа к данным с помощью SQL
  • скорость доступа к определённым элементам
  • необходимость поддержки порядка следования узлов, отличного от алфавитного

Существует несколько способов отображения иерархических структур.
В первую очередь это классический TreeView. Элемент управления, используемый в VB неполноценен и для реализации некоторых функций приходиться пользоваться нестандартными приёмами.
Альтернативой ему могут служить различные Grid'ы в которых реализована возможность отображения иерархий. Это vsFlexGrid и некоторые другие. Важным преимуществом таких решений является возможность отображения данных с разбивкой на колонки.
Для навигации в иерархических структурах можно обойтись и без деревьев. Хорошим примером этому может служить стандартное диалоговое окно открыть \ сохранить обеспечивающее доступ к файловой системе.
Для отображения иерархий могут служить и элементы управления изначально для этого не предназначенные. Например, есть примеры использования списков. Еще более интересен пример, в котором TreeView реализован на основе PictureBox.
Но наиболее эффектные решения могут быть получены с использованием WebBrowser.

Тут представлены два моих VB проекта, демонстрирующих различные подходы к иерархическим структурам.

TreeViewDemo

В этой программе используется связанный список, хранимый в БД Access и элемент управления TreeView. Каждый узел содержит:

  • указатель на предка
  • указатель на потомка
  • указатель на предыдущего соседа
  • указатель на следующего соседа
  • признак раскрытия узла
  • признак выделения узла

Благодаря этой схеме любая операция с элементом требует модификации максимум трёх узлов. В программе реализованы следующие функции:

  • Вставить узел перед текущим
  • Вставить узел после текущего
  • Вставить узел потомком текущего
  • Поменять узел с вышестоящим
  • Поменять узел с нижестоящим
  • Выровнять с предком
  • Понизить уровень
  • Удалить

Скачать исходник.


OutlineDemo

Этот пример - результат перевода кода ASP проекта в VB. В примере три ключевые особенности

  • Источником данных служит БД Access, а провайдером данных является MSDataShape
  • Для отображения данных используется элемент управления WebBrowser. При этом создаётся полноценная иерархическая структура. Отображение / скрытие узла реализовано с помощью стиля элемента 'display'
  • Для объединения строк используется специальная процедура, которая значительно быстрее оператора &

Скачать исходник.


  Рекомендовать страницу   Обсудить материал Написать редактору  
  Распечатать страницу
 
  Дата публикации: 18.02.2006  

ОБ АЛЬЯНСЕ | НАШИ УСЛУГИ | КАТАЛОГ РЕШЕНИЙ | ИНФОРМАЦИОННЫЙ ЦЕНТР | СТАНЬТЕ СПОНСОРАМИ SILICON TAIGA | ISDEF | КНИГИ И CD | ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ | УПРАВЛЕНИЕ КАЧЕСТВОМ | РОССИЙСКИЕ ТЕХНОЛОГИИ | НАНОТЕХНОЛОГИИ | ЮРИДИЧЕСКАЯ ПОДДЕРЖКА | АНАЛИТИКА | КАРТА САЙТА | КОНТАКТЫ

Дизайн и поддержка: Silicon Taiga   Обратиться по техническим вопросам  
Rambler's Top100 Rambler's Top100