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

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

Что за класс TTreeNode и с чем его едят? [D7, XP]


Flex_ ©   (2006-02-07 11:59:00) 

В общем встрял с TreeView и добавлением в него объектов(строк), не могу разобраться с функцией AddChild, помогите пожайлуста!


Flex_   (2006-02-07 21:41:00) [1]

Похоже разобрался, меня свела с толку функция Add... с TTreeNode. Спасибо огромное.


Ega23   (2006-02-07 12:30:00) [2]


> Проблема похоже во мне! Просто я никогда не работал с TreeView,
>  и не врубился. Спасибо тебе Ega23! Суть состояла в том,
>  что имеется таблица БД и по ней строится TreeView причём
> данные в таблице представляют собойдревовидную структуру!
>  Вот и всё!


посмотри тут
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1139229210&n=18
начиная с [17]
Я когда-то ваял БД-компонентик, строящий дерево по набору данных.


Flex_   (2006-02-07 12:17:00) [3]

Проблема похоже во мне! Просто я никогда не работал с TreeView, и не врубился. Спасибо тебе Ega23! Суть состояла в том, что имеется таблица БД и по ней строится TreeView причём данные в таблице представляют собойдревовидную структуру! Вот и всё!


DesWind   (2006-02-07 12:05:00) [4]

function AddChild(Node: TTreeNode; const S: string): TTreeNode;

А в чем собсна проблема? Node - родитель, s - текст(заголовок Node)


Ega23   (2006-02-07 12:04:00) [5]


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;



Рекурсивная процедура. По некоторому списку строит TreeView


Наверх

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