powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Построение дерева
9 сообщений из 9, страница 1 из 1
Построение дерева
    #32465985
Турист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задачка следующая:

Есть иерархическая таблица (поля: nID и nParentID) в MS SQL Server.
Подскажите пожалуйста (желательно примерчик), как средствами ADO.NET, построить TreeView, основанное на данных вышеуказанной таблицы? Я могу построить такое дерево, если количество уровней статично. А как построить это дерево с динамическим кол-ом уровней?
И ещё вопросик: можно ли, при выборе определённого узла построенного дерева, узнать к какому уровню этот узел относится?

Заранее благодарен за полезную информацию.
...
Рейтинг: 0 / 0
Построение дерева
    #32467803
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Придумать можно много способов. Например добавь ID ветки и группируй возврат данных по нему.
Потом просто пробегаешь по дататейблу и добавляешь все подряд.
ИМХО.

Magnus
...
Рейтинг: 0 / 0
Построение дерева
    #32468527
Турист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 вопроса:

1) А можно в узел дерева записать значения двух полей записи?
Например:
1 - первое поле (в дереве не видно)
"aaa" - второе поле (в дереве видно)

2) Для того, чтобы добавить узел в дерево, я пишу:

dim tn1 as treeNode
tn1.text="aaa"
treeView.nodes.add(tn1)

для того, чтобы добавить к tn1 дочерний узел я пишу:

dim tn2 as treeNode
tn2.text="bbb"
tn1.nodes.add(tn2)

и т.д.

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

Подскажите, пожалуйста, как построить дерево с заранее неизвестным кол-ом уровней.

Заранее благодарен за полезную информацию.
...
Рейтинг: 0 / 0
Построение дерева
    #32469535
kdanylo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) with treeNode
.Text = 'aaa'
.Tag = 'Invisible text'
2) >>т.е. для того, чтобы построить дерево, мне нужно заранее знать >>количество его уровней.

Нет, тебе нужно иметь ссылку на родительский узел и поэтому достаточно реализовать поиск по дереву для его нахождения, после чего добавлять к нему новый элемент.
...
Рейтинг: 0 / 0
Построение дерева
    #32474987
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в таг узла может записать даже экземпляр класса, в который можно напихать кучу полезной инфы.
...
Рейтинг: 0 / 0
Построение дерева
    #32487473
NNN2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как в текущий Node записать 2 тага?
Типа
dg1.Nodes(0).Tag(1) = 2
dg1.Nodes(0).Tag(2) = 3

?
...
Рейтинг: 0 / 0
Построение дерева
    #32488569
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 NNN2
big-duke ответил тебе на этот вопрос, что не понятно?
Массив там создавать нельзя, но можно присвоить массив тагу, да любой обьект собственно.

Magnus
...
Рейтинг: 0 / 0
Построение дерева
    #32490050
Фотография josia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы не знаете какие могут быть drawbacks (недостатки) в том что-бы унаследоваться от TreeNode ? Спасибо.
...
Рейтинг: 0 / 0
Построение дерева
    #32490829
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 josia
Это вопрос к кому собственно?
Если уж хотите гарантированно поличить ответ то рекомендую открыть новый топик.

ЗЫ, Я лично не знаю. Если правильно отнаследоваться т по-идее никаких. Кроме дополнительной обработки...

Magnus
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Построение дерева
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]