![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Alkash |
|
||||
|
коллекционер жизни ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 5.7.2004 Где: / Репутация: нет Всего: нет |
Доброго времени суток господа...Возник вопрос:
Допустим, есть 4 списка узлов.
Они заполняются строками следующим образом
Каким образом их записхнуть в TreeView? Тоесть, сначала узлы первого уровня, в них узлы второго, в узлы второго - узлы третьего. В гугле подходящей подсказки не нашёл-) Заранее благодарен. -------------------- Подпись >> /dev/null |
||||
|
|||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
у каждого нода есть свойство Nodes, оно возвращает коллекцию дочерних узлов вот в него и запихивай все. (у самого контрола тоже есть такое свойство).
выглядит все это примерно так:
|
|||
|
||||
| Alkash |
|
|||
|
коллекционер жизни ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 5.7.2004 Где: / Репутация: нет Всего: нет |
Дык пробовал. Фишка в том - как найти индекс узла в который добавлять допустим итемы из 3 списка?
Я уже чего только не пробовал, получается - извращеная хрень и узлы разбегаются какой куда -------------------- Подпись >> /dev/null |
|||
|
||||
| Alkash |
|
|||
|
коллекционер жизни ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 5.7.2004 Где: / Репутация: нет Всего: нет |
А.Да. Пробовал и подпихнуть индекс выделенного узла - ну не прикрепляет он к нему почему-то-(
-------------------- Подпись >> /dev/null |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
добавляет дочерний узел к узлу с именем Node1 |
|||
|
||||
| Alkash |
|
|||
|
коллекционер жизни ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 5.7.2004 Где: / Репутация: нет Всего: нет |
А если я незнаю, какое имя может быть у нода в данный момент?
-------------------- Подпись >> /dev/null |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
мы ходим по кругу, расскажи что тебе конкретно нужно. как ты определяешь какому ноду добавить дочерний узел? если всем то получай коллекцию нодов и обходи их в цикле, если какому то конкретному, то определись что должно произойти перед добавлением(к примеру, пользователь должен выбрать какой то нод, и тогда к нему добавляется дочерний узел), и по этому событию и определяй что у тебя выделено и куда тебе что то надо добавить добавляет выделенному ноду дочерний:
Это сообщение отредактировал(а) Экскалупатор - 30.8.2010, 11:56 |
|||
|
||||
| Alkash |
|
|||
|
коллекционер жизни ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 5.7.2004 Где: / Репутация: нет Всего: нет |
Мне нужно, 4 коллекции запихнуть в тривью. При этом каждый узел 1 уровня - включает в себя все узлы вторго уровня, и я честно говоря - не понимаю как таки это сделать в моём случае
-------------------- Подпись >> /dev/null |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
самый элементарный вариант:
|
|||
|
||||
| Alkash |
|
|||
|
коллекционер жизни ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 5.7.2004 Где: / Репутация: нет Всего: нет |
О...Спасибо, мысль понял
-------------------- Подпись >> /dev/null |
|||
|
||||
| wester |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: 4 Всего: 13 |
Экскалупатор,
вот например тут проблема - в else на строке 63 новые ноды добавляются в root, хотя по идее должны добавляться как child, того узла который я раскрываю
как такое поправить? Это сообщение отредактировал(а) wester - 30.8.2010, 16:10 |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
treeView1.Nodes[nodeIndex-1].Nodes.Add(newNode);
а если убрать -1? Добавлено через 5 минут и 25 секунд e.Node.Index - тут возвращается индекс того нода который разворачивается , для чего отнимать от него -1? у тебя где то вопросы с алгоритмом, проведи рефакторинг, разбери свой метод на два, и сразу станет понятно. |
|||
|
||||
| userdab |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 3.9.2010 Репутация: нет Всего: нет |
Посмотрите Вставка данных в TreeView , может это вам чем-то поможет.
|
|||
|
||||
| ZuTa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 3.6.2009 Репутация: нет Всего: нет |
Пишу файловый менеджер.
Как в TreeView отоброзить каталог файлов ? |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
рекурсивно
http://www.dreamincode.net/code/snippet2591.htm Самое оптимальное - вывести список дисков, при раскрытии узла, строить его узлы, ну и т.д. http://www.codeproject.com/KB/cs/TreeViewFileExplorer.aspx а вот пример -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |