Копирование в TreeView.

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Лелик_1044
Сообщения: 339
Зарегистрирован: 22 ноя 2004, 19:15
Откуда: Минск
Контактная информация:

05 мар 2006, 11:13

Допустим есть TreeView1.

Вещи
->Можно есть
-->Яблоки
-->Груши
->Нельзя есть
-->Утюг
-->Холодильник
Животные
->Домашние
-->Кошка
-->Собака
->Дикие
-->Тигн
-->Буйвол

Также есть TreeView2
как сделать так:
1) доустим я выбираю "Тигр". И вся стуркутра копируется и TV1 в Tv2. причем если такая структура есть она недобовляется а просто вставляется новое значение.
2) Если выбран "Дикие" Выдовалось сообщение "Есть подменю" или добовлялось все подменб автоматом... Тоже самое касается верхнего уровня...

Если что-то неонято пишите постараюсь объяснить...
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
Blood_Magic
Сообщения: 268
Зарегистрирован: 30 июн 2005, 14:53

06 мар 2006, 16:49

что именно должно скопироваться в 1 и 2 случаи? результат покажи, так проще будет
Лелик_1044
Сообщения: 339
Зарегистрирован: 22 ноя 2004, 19:15
Откуда: Минск
Контактная информация:

06 мар 2006, 17:32

Лана ответ я уже нашел

Еще один вопрос появился как скопировать эту струкутур в Listbox. Копировать надо те ноды которые не имеют подуровней...
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

06 мар 2006, 17:56

не совсем понятно что надо сделать? скопировать всех детей выбранной ноды?
Изображение
Лелик_1044
Сообщения: 339
Зарегистрирован: 22 ноя 2004, 19:15
Откуда: Минск
Контактная информация:

06 мар 2006, 23:56

Игорь Акопян,
да я это потом понял что неточно объяснил
пример выше после нажтия кнопки копирвоать в листобоксе должен быть список

яблоки
груши
холодильник
утюг
собака
кошка
тигр
буйвол

т.е. те ноды не имеющие поуровней
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

07 мар 2006, 11:03

ну тут так - идём по всем нодам первого уровня и выковыриваем детей каждой, либо читаем поподробнее про свойство NextSibling (нет под рукой - но это что-то похожее)
Изображение
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

07 мар 2006, 11:09

чёт я сегодня плох... до конца не дочитываю...
можно просто идти циклом по всем нодам и если Node.HasChildren = false копировать...
Изображение
Blood_Magic
Сообщения: 268
Зарегистрирован: 30 июн 2005, 14:53

07 мар 2006, 11:30

Код: Выделить всё

  for i:=0 to TreeView1.Items.Count-1 do
    If TreeView1.Items.Item[i].Count=0 then
      Memo1.Lines.Add(TreeView1.Items.Item[i].Text)
Blood_Magic
Сообщения: 268
Зарегистрирован: 30 июн 2005, 14:53

07 мар 2006, 11:33

Код: Выделить всё

  for i:=0 to TreeView1.Items.Count-1 do
    If not TreeView1.Items.Item[i].HasChildren then
      Memo1.Lines.Add(TreeView1.Items.Item[i].Text)
Лелик_1044
Сообщения: 339
Зарегистрирован: 22 ноя 2004, 19:15
Откуда: Минск
Контактная информация:

07 мар 2006, 13:53

угу спасибо вечером проверю код напишу ответ...
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
Ответить