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

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

Помогите с TreeView [D7]


bobby ©   (2012-04-21 04:33:00) 

Здравствуйте.
Обыскал все форумы, пролистал кучу справочников (Библия делфи и всё что есть в эл. виде на ПК) но не могу найти ответ на элементарный вопрос.
Неужели у компонента TreeView нет возможности узнать количество родительских элементов.
В поставленной задаче надо просто почистить все родит. элементы и заполнить их другими данными.

for i:=0 to twSteak.Items.Count -1 do twSteak.Items.Item[i].DeleteChildren;

В данном случае twSteak.Items.Count возвращает мне полное количество всех элементов TreeView.
Помогите пожалуйста узнать кол-во родительских элементов.

[Есть возможность почистить всё и заново заполнить - но это же неправильно :(]


bobby   (2012-04-21 08:48:00) [1]

Ой Пасибки!!! Дай Бог тебе здоровья!


bobby   (2012-04-21 08:46:00) [2]

Добился! Только хотел написать
Nodes:=form1.twSteak.Items.GetFirstNode;
for i:=0  to form1.Sectors.Count-1 do
  begin
     for j:= 0 to 3 do
       begin
          Form1.twSteak.Items.AddChild(Nodes,intToStr(j));
       end;
     Nodes:=Nodes.getNextSibling;
  end;
end;


MBo   (2012-04-21 08:41:00) [3]

Обход первого уровня дерева
Node := GetFirstNode;
while Node <> Nil do begin
 //работаем с узлом
 //
 Node :=Node.GetNextSibling;
end;


bobby   (2012-04-21 08:33:00) [4]

GetFirstNode помог занести всех дочерей в первого родителя.
Теперь у меня все дочери в первом родителе.

А по поводу GetNextSibling - я не пойму как его тут использовать(

for i:=0  to form1.Sectors.Count-1 do
  begin
     Nodes:=form1.twSteak.Items.GetFirstNode;
     for j:= 0 to 3 do
       begin
          Form1.twSteak.Items.AddChild(Nodes,intToStr(j));
       end;
  end;


MBo   (2012-04-21 07:54:00) [5]

GetFirstNode
GetNextSibling


bobby   (2012-04-21 07:15:00) [6]

Забыл дописать.
Тут то у меня и получается 3 дочери у первого родителя, потом 3 дочери у первой дочери первого родителя и т.д.
Остальные родители пусты!

Как мне после цикла J сказать чтоб он перешел к другому родителю после заполнения первого?


bobby   (2012-04-21 07:12:00) [7]

Я короче вообще ничего не пойму уже.
Я не могу заполнить TreeView через цикл:


//Сначала создаю список родителей
for i:=0 to n do twSteak.Items.Adв(nil,'Родитель-'+IntToStr(i));

потом далее в программе всех родителей надо заполнить

for i:=0 to n do
  for J:= 0 to 3 do  twSteak.Items.AddChild(twSteak.Items.item[i],'Дочерь-'+IntToStr(j));//Тоесть хочу чтоб у каждого родителя было по 3 дочери!

Я даже на этом заступорился! Помогите плизз!


MBo   (2012-04-21 05:59:00) [8]

Каких элементов? Уточните, что имеется в виду под родительскими.


Наверх

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