Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Помогите с TreeView   Найти похожие ветки 

 
bobby ©   (2012-04-21 04:33) [0]

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

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

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

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


 
MBo ©   (2012-04-21 05:59) [1]

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


 
bobby ©   (2012-04-21 07:12) [2]

Я короче вообще ничего не пойму уже.
Я не могу заполнить 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 дочери!

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


 
bobby ©   (2012-04-21 07:15) [3]

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

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


 
MBo ©   (2012-04-21 07:54) [4]

GetFirstNode
GetNextSibling


 
bobby ©   (2012-04-21 08:33) [5]

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 08:41) [6]

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


 
bobby ©   (2012-04-21 08:46) [7]

Добился! Только хотел написать
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;


 
bobby ©   (2012-04-21 08:48) [8]

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



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.049 c
15-1352200214
Стратокастер
2012-11-06 15:10
2013.03.22
Небольшой вопрос по C++


15-1340051402
Юрий
2012-06-19 00:30
2013.03.22
С днем рождения ! 19 июня 2012 вторник


3-1277875013
samalex
2010-06-30 09:16
2013.03.22
Компонент типа TListBox, но с привязкой к БД


15-1353253627
alexdn
2012-11-18 19:47
2013.03.22
Совершенно дурацкий вопрос


15-1353709407
Kerk
2012-11-24 02:23
2013.03.22
Про Москву