TreeView в Access

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Cellard
Новичок
Новичок
 
Сообщения: 49
Зарегистрирован: 15.10.2002 (Вт) 22:10
Откуда: Russia

TreeView в Access

Сообщение Cellard » 14.05.2003 (Ср) 11:40

Простите, совершенно нет времени разбираться с объектной моделью microsoft treeview. Не приведет ли многоуважаемый All листинги создания корневых и дочерних нодов. (В качестве имен нодов у меня выступает содержимое таблиц - но это не так уж важно). Спасибо
Cellard

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.05.2003 (Ср) 11:44

корневой нод создается так:



Код: Выделить всё
TrView.Nodes.Add ,,"ROOT", "Node 1"


Дочерний нод можно приделать к любому ноду вот так:
Код: Выделить всё
TrView.Nodes.Add "ROOT",tvwChild,"CHILD","Node 2"




То есть при добавлении дочернего нода мы указываем ключ того нода, который будет родителем.



Учти, что в Access в редакторе кода проперть Nodes не отображается.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.05.2003 (Ср) 11:55

в контроле есть коллекция Nodes, в которой содержаться все узлы на всех подуровнях.
Каждый элемент коллекции Nodes имеет: Root - корневой нод для узла, Parent - родительский нод для узла, FirstSibling, LastSibling - первый и последний ноды на том же уровне, Next, Previous - следующий и предыдущий ноды на том же уровне, Child - "дите" нода (первый нод на уровне ниже).
У коллекции Nodes есть метод Add([Relative], [Relationship], [Key], [Text], [Image], [SelectedImage]). Иерархией управляют Relative и Relationship. Relative - это нод, относительно которого будет происходить добовление узла. Relationship - это отношение, с которым будет добавлен узел (корневой, Relative игнорируется, "дите" относительно Relative, первый на уровне относительно Relative, последний на уровне относительно Relative, предыдущий на уровне относительно Relative, следующий на уровне относительно Relative).

Пример для такой структуры:
Код: Выделить всё
+ 1
|
+--2
|  |
|  +--21
|  |
|  +--22
|
+--3

Код: Выделить всё
With tvwDemo.Nodes
  .Add(RelationShip := tvwRoot, Key := "1", Text := "1"
  .Add(RelationShip := tvwRoot, Key := "2", Text := "2"
  .Add(RelationShip := tvwRoot, Key := "3", Text := "3"
  .Add(Relation := .Nodes("2"), RelationShip := tvwChild, Key := "21", Text := "21"
  .Add(Relation := .Nodes("2"), RelationShip := tvwChild, Key := "22", Text := "22"
End With
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 76

    TopList