c# Работа с TreeView. Часть 2

Продолжаем работать с элементом управления TreeView и сегодня рассмотрим следующие моменты: создание и добавления узлов, контроль текущего местоположения в дереве, а так же добавление атрибутов.

Для начала добавим в созданный ранее проект новый XML файл. Если Вы не знаете, как это сделать, то можете прочитать об этом здесь

Заполнение TreeView

Задача проста, нужно заполнить TreeView данными из XML файла. В результате должны получить эти же данные в виде иерархического дерева.

исходник

результат

дерево

Контроль текущего местоположения в дереве

При создании нового узла, например «Value» с помощью таких свойств, как NextNode, FirstNode, LastNode, FullPath можно изменить или определить текущее местоположение в дереве, чтобы точно знать, куда будет добавлен новый узел.

Например, возьмём всё тот же узел «Value», перед созданием данного узла текущий путь, который можно посмотреть при помощи свойства FullPath, будет иметь следующее значение:

Если сейчас добавить новый узел «Value» по указанному пути, то получим следующий результат:

добавленный узел


Набираем команду codeby webinar

Набираем команду для организации и проведения вебинаров Подробнее ...

Узел «Value» создается дочерним для элемента “id”. Нам же нужно создать его дочерним для узла «name».

Определяем текущее местоположение в дереве.

текущий путь:

С помощью свойства NextNode переходим в нужный нам узел, а затем добавляем дочерний узел «Value»

32

Добавление значения элемента

Узел “name” содержит текстовое содержимое: “Vaz”. В иерархическом дереве, это значение будет являться дочерним элементом для узла “Value”.

45

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

текущий путь:

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

было

стало

Сначала создаётся родительский узел, затем в качестве массива ему передается список дочерних узлов.

Читайте также:


Получи 30.000 рублей от codeby

Мы запустили конкурс для авторов, в котором может принять участие любой желающий. За первое место - 7500 руб., второе - 5000, третье 2500. Главный приз 30.000 рублей вы получаете независимо от места в конкурсе. Подробнее на форуме codeby ...

Похожие темы

В чём отличие между методом Nodes и Descendants?... В чём разница между методом Nodes и Descendants? В этой статье хочу рассказать про метод Descendants и показать его отличие от метода Nodes при работ...
Как сделать сниппет для c# Как сделать сниппет (snippet) Готовые сниппеты программы Visual Studio позволяют уменьшить время при написании кода, но как сделать сниппет самому? О...
Матричный метод решения СЛАУ. Распараллеливание с ... Алгоритм матричного метода решения СЛАУ подробно описан в теме: Матричный метод решения СЛАУ (распараллеливание с openMP). Распараллелим этот а...
Как скопировать файл с помощью языка c#?... C# Как скопировать файл? Из этой статьи Вы узнаете, как скопировать файл, используя язык c#. Но, для начала хотелось бы сказать, что, не смотря на то...
Язык XML практика и теория Введение в язык XML Данный раздел посвящен работе с XML. В нём будет собран, как теоретический, так и практический материал. Будут рассмотрены основн...