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

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

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

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

Сообщение Лелик_1044 » Вс мар 05, 2006 11:13 am

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

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

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

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

Blood_Magic
Сообщения: 268
Зарегистрирован: Чт июн 30, 2005 1:53 pm

Сообщение Blood_Magic » Пн мар 06, 2006 4:49 pm

что именно должно скопироваться в 1 и 2 случаи? результат покажи, так проще будет

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

Сообщение Лелик_1044 » Пн мар 06, 2006 5:32 pm

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

Еще один вопрос появился как скопировать эту струкутур в Listbox. Копировать надо те ноды которые не имеют подуровней...
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.

Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: Ср окт 13, 2004 4:11 pm
Откуда: СПБ
Контактная информация:

Сообщение Игорь Акопян » Пн мар 06, 2006 5:56 pm

не совсем понятно что надо сделать? скопировать всех детей выбранной ноды?
Изображение

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

Сообщение Лелик_1044 » Пн мар 06, 2006 11:56 pm

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

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

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

Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: Ср окт 13, 2004 4:11 pm
Откуда: СПБ
Контактная информация:

Сообщение Игорь Акопян » Вт мар 07, 2006 11:03 am

ну тут так - идём по всем нодам первого уровня и выковыриваем детей каждой, либо читаем поподробнее про свойство NextSibling (нет под рукой - но это что-то похожее)
Изображение

Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: Ср окт 13, 2004 4:11 pm
Откуда: СПБ
Контактная информация:

Сообщение Игорь Акопян » Вт мар 07, 2006 11:09 am

чёт я сегодня плох... до конца не дочитываю...
можно просто идти циклом по всем нодам и если Node.HasChildren = false копировать...
Изображение

Blood_Magic
Сообщения: 268
Зарегистрирован: Чт июн 30, 2005 1:53 pm

Сообщение Blood_Magic » Вт мар 07, 2006 11:30 am

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

  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 1:53 pm

Сообщение Blood_Magic » Вт мар 07, 2006 11:33 am

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

  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 7:15 pm
Откуда: Минск
Контактная информация:

Сообщение Лелик_1044 » Вт мар 07, 2006 1:53 pm

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

Ответить