![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование TreeView-шных Item-ом
programmer90 © (2009-01-29 01:42:00)Здраствуйте!
Вопрос про TreeView:
Необходимо скопировать итемы с одного дерева на другое и желательно с чылдренятами.
P.S F1 неработает :)
Германн (2009-01-30 00:42:00) [1]
> programmer90 (29.01.09 23:03) [9]
>
> решил, но с помощью другого метода MoveTo ,самое то...
Последовал этому совету?
> MBo © (29.01.09 05:44) [3]
Сергей М. (2009-01-29 23:18:00) [2]Мдя..
В огороде бузина..
programmer90 (2009-01-29 23:03:00) [3]решил, но с помощью другого метода MoveTo ,самое то...
Спасибо!
Сергей М. (2009-01-29 22:25:00) [4]
> создать элемент (node3) на level 1
Node3 := AddChild(nil, 'node3');
> и сделать так чтобы определенные итемы(node1,node2) стали
> его детьми
> и соответсвенно были на level 2.
'
NodeУКоторогоРодительNode3 := AddChild(Node3, 'А по барабану как ты его назовешь');
programmer90 (2009-01-29 22:18:00) [5]Как преобразовать:
Root
node1
child1
child2
node2
child3
В это:
Root
node3
node1
child1
child2
node2
child3
Соль задачи в том чтобы создать элемент (node3) на level 1
и сделать так чтобы определенные итемы(node1,node2) стали его детьми
и соответсвенно были на level 2.
Это имеет самое непосредственное отношение TreeView, посколько здесь самое главное иерархия итемов...
Сергей М. (2009-01-29 21:55:00) [6]
> programmer90
TreeView-то тут причем, если ты не можешь формализовать задачу ?
programmer90 (2009-01-29 21:43:00) [7]Надо немного переформулировать задачу,я понял что использовать 2-е дерево неправильно
Вот собсна суть задачи:
Имеется такое дерево (treeview)
-my little brother's friend
my {items[1]}
-little brother's {items[2]}
little
brother's
friend
Необходимо объеденить items[1] , items[2]
Под объединением имею ввиду создание нового item-a c текстом: items[1].text + items[2].text;
и самое главное внести под этот новый итем: items[1] , items[2] со всеми их детьми
...
В итоге должно получится следующее:
my little brother's friend
my little brother's
my
little brother's
little
brother's
friend
...
AddChild позволяет нам добавить узел и его имя (то есть вот эта часть не попадет:
little
brother's
)
Надеюсь на помощь, спасибо за внимание!
clickmaker (2009-01-29 11:40:00) [8]> [2] programmer90 (29.01.09 02:21)
Node := TreeView2.Nodes.AddChild(ParentNodeInTreeView2,'');
Node.Assign(NodeFromTreeView1);
и так рекурсивно для всех "итемов с одного дерева"
как вариант, можно еще воспользоваться TTreeNodes.Assign
MBo (2009-01-29 05:44:00) [9]Загляни в статью про Drag Drop, там может быть пример
programmer90 (2009-01-29 02:21:00) [10]Вообще-то я уже долго сижу над этим...
и f1 у меня не работает: " RAD studio's help namespace is not defenited."
долго гуглил, не нашел подходящей инфы
....
попробовал так:
TreeView2.Items.Insert(TreeView1.Items.Item[5],'has solved');
Но он просто создает поддерево "has solved" , хотя в TreeView1.Items.Item[5] имеется ветка.
мне нужно чтобы он записал в 'has solved' определенные ветки из другого дерева
Он даже без чылдернят не копирует, откуда следует что я не правильно использую функции...или вообще не ту функцию.
Германн (2009-01-29 02:00:00) [11]
> P.S F1 неработает :)
Не может - научи! Не хочет - заставь!
Потом приходи сюда.