Главная страница
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.307 c
15-1351168672
картман
2012-10-25 16:37
2013.03.22
что за вольный стиль?


2-1331807216
selesasha
2012-03-15 14:26
2013.03.22
Поиск в массиве


15-1347565047
Artem
2012-09-13 23:37
2013.03.22
Сегодня выбрал тему дипломный работы.


15-1329975955
Ega23
2012-02-23 09:45
2013.03.22
С праздником, мужики!


2-1331397815
crank
2012-03-10 20:43
2013.03.22
Выбор БД