Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TreeView


jjj ©   (2006-09-22 18:12:00) 

А как добавить в ручную ветку дерева (основную и дочернюю)?


jjj   (2006-09-22 18:42:00) [1]

Что-то не очень получается, но скорее всего я чего-то не догоняю :(
У меня следующая ситуация.
Есть таблица с полями id, name, parent
parent - это id родителя.

Вот по этой таблице мне и надо построить дерево.
Я раньше никогда с деревьями не работал, поэтому если кто может помочь, подскажите пожалуйста поподробнее. Очень надо.
Спасибо.


jjj   (2006-09-22 18:19:00) [2]


> alles ©   (22.09.06 18:16) [1]

Ага, програмно...


Ega23   (2006-09-22 18:18:00) [3]

вот рекурсивный метод потомка TCustomTreeView. Строит дерево по списку объектов TKdrDBTreeViewItemIdent

procedure TCustomKdrDBTreeView.AddAllNodes(ParentID: Variant;
 ParentNode: TTreeNode);
var
k:Integer;
CurrNode:TTreeNode;
begin
for k:=0 to FTreeItems.Count-1 do
 begin
  With TKdrDBTreeViewItemIdent(FTreeItems.Items[k]) do
   begin
    if (Node<>nil) or (ParentKeyFieldValue<>ParentID) then Continue;
    if ParentNode=nil then
     CurrNode:=Items.Add(nil, DisplayFieldValue)
    else
     CurrNode:=Items.AddChild(ParentNode, DisplayFieldValue);
     CurrNode.ImageIndex:=ImageIndex;
     CurrNode.SelectedIndex:=ImageIndex;
    Node:=CurrNode;
    CurrNode.Data:=FTreeItems.Items[k];
    AddAllNodes(KeyFieldValue, CurrNode);
   end; // With
 end; // for

end;


alles   (2006-09-22 18:16:00) [4]

как добавить в ручную
это программно чтоли?


Наверх

Титульная страница Поиск, карта сайта Написать письмо