Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 8
1

Добавление данных в свойство Tag

27.11.2011, 09:54. Показов 3676. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите начинающему разобраться.

Итак, в WinForms создал дерево TreeView. в него добавлен узел "ClientsNode" с именем "клиенты". В данный узел мы добавляем клиентов из XML документа. Количество клиентов заранее не известно, поэтому организован цикл по перебору.

C#
1
2
3
4
5
...
foreach (XmlNode node in nodes)
{
    ClientsNode.Nodes.Add(node.SelectSingleNode("client_name").InnerText;
}
получается так:

Клиенты (дочерний узел)
Галушкин Иван
Побрякушкина Маша
Салварин Тина
...

Но в XML-документе есть ещё client_id. Необходимо в свойство Tag дочерних узлов узла "клиенты", созданных в цикле foreach, добавить данные из clients_id исходного XML-документа.

Т.е. добавить Ивану его законный id=1, Маше=2, Тино=3 и т. д. Напоминаю, что все id хранятся в clients_id XML-документа.

Покажите кодом, пожалуйста, как происходит процесс перебора clients_id и добавление найденных значений в Tag?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2011, 09:54
Ответы с готовыми решениями:

Запись в свойство tag адреса объекта
У меня есть ListView и внём много айтемов. я хочу чтобы каждый аэтем в свойстве tag хранил ссылку...

Свойство tag
Здравствуйте! У меня создаютса динамически image на форме. У каждной групы етих image есть свой...

свойство Tag
FormMas:=TfmRangPersonal.Create(nil); if not Modal then ...

Свойство класса Tag
Привет всем, есть в жаве свойство у класса подобное C# Tag?

8
162 / 158 / 19
Регистрация: 22.11.2011
Сообщений: 371
27.11.2011, 10:06 2
"client_id" в XML чем является?
0
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 8
27.11.2011, 10:08  [ТС] 3
Цитата Сообщение от SpawnDDR Посмотреть сообщение
"client_id" в XML чем является?
Тем же самым, чем и client_name. Они на одном уровне.
0
162 / 158 / 19
Регистрация: 22.11.2011
Сообщений: 371
27.11.2011, 10:47 4
Если на одном уровне и такой же элемент, то можно и так сделать:
C#
1
ClientsNode.Nodes.Add(new TreeNode(node.SelectSingleNode("client_name").InnerText) { Tag = node.SelectSingleNode("client_id").InnerText }));
0
Эксперт .NET
 Аватар для kolorotur
17794 / 12945 / 3381
Регистрация: 17.09.2011
Сообщений: 21,229
27.11.2011, 10:50 5
Создайте класс или структуру, дублирующую элемент из XML, создавайте оную для каждого элемента и крепите к свойству Tag. Тогда у вас там будет не только id, а все остальные данные тоже.
0
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 8
27.11.2011, 11:28  [ТС] 6
Цитата Сообщение от SpawnDDR Посмотреть сообщение
Если на одном уровне и такой же элемент, то можно и так сделать:
C#
1
ClientsNode.Nodes.Add(new TreeNode(node.SelectSingleNode("client_name").InnerText) { Tag = node.SelectSingleNode("client_id").InnerText }));
Извините, наверное это важно? Забыл указать, что пользуюсь 2008 студией. Данный код не принимает компилятор. Пишет:
Error 1 ; expected
Error 2 Invalid expression term ')'
обе ошибки в самом конце строки. Компилятор ставит меня перед ;
0
162 / 158 / 19
Регистрация: 22.11.2011
Сообщений: 371
27.11.2011, 11:39 7
Моя ошибка, извините, без студии писал.
Удалите одну скобку просто перед точкой с запятой.
1
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 8
27.11.2011, 12:04  [ТС] 8
Цитата Сообщение от SpawnDDR Посмотреть сообщение
Моя ошибка, извините, без студии писал.
Удалите одну скобку просто перед точкой с запятой.
Всё получилось. А если это не сложно, немогли бы Вы пояснить как называется эта конструкция { } внутри которой мы присвоили Tag? Я только учусь, студию держу недели три всего, поэтому мне жутко интересно)
0
162 / 158 / 19
Регистрация: 22.11.2011
Сообщений: 371
27.11.2011, 13:14 9
Конструкция никак не называется. Это синтаксис инициализации объектов и массивов, доступный в C# с 3-й версии. Смысл сводится к тому, что видимые члены объекта могут быть проинициализированы сразу.
Раньше надо было писать так:
C#
1
2
TreeView tw = new TreeView();
tw.Tag = "";
Теперь никто не запрещает писать так:
C#
1
TreeView tw = new TreeView() { tw.Tag = "" };
Лаконичность, удобство.
2
27.11.2011, 13:14
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.11.2011, 13:14
Помогаю со студенческими работами здесь

Свойство кнопки Tag
видел где то как используют различные состояния кнопки в зависимости от ситуации с помощью...

Что за свойство Tag?
text1.tag ? что за свойства ? Кому не лень дайте сссылки на книжки где есть опесания всех свойст...

Свойство Tag в текстбоксе VBA
Всем добрый вечер. Прошу помощи. Свойство Tag в текстбоксе – явление довольно редкое. Где можно...

Свойство StringGrid.Tag и index
процедура выделяет строку стринггрида зеленым цветом, но объясните что делает свойство...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
Как сделать UPDATE из SELECT в SQL Server
hw_wired 24.01.2025
В современных системах управления базами данных операции обновления и выборки данных являются фундаментальными инструментами для работы с информацией. SQL Server предоставляет мощные команды UPDATE и. . .
Как вставить элемент в массив на указанный индекс в JavaScript
hw_wired 24.01.2025
Массивы являются одной из фундаментальных структур данных в JavaScript, предоставляющей разработчикам мощный инструмент для хранения и управления упорядоченными наборами данных. Они позволяют хранить. . .
Чем отличаются HashMap и Hashtable в Java
hw_wired 24.01.2025
В мире разработки на Java существует множество инструментов для работы с коллекциями данных, и среди них особое место занимают структуры данных для хранения пар ключ-значение. HashMap и Hashtable. . .
Как конвертировать видео в GIF
hw_wired 24.01.2025
В современном мире анимированные изображения стали неотъемлемой частью цифровой коммуникации. Формат GIF (Graphics Interchange Format) представляет собой особый тип файлов, который позволяет. . .
Как скопировать текст в буфер обмена на JavaScript во всех браузерах
hw_wired 24.01.2025
Копирование текста в буфер обмена стало неотъемлемой частью современных веб-приложений, значительно улучшающей пользовательский опыт и упрощающей работу с контентом. В эпоху активного обмена. . .
Как скрыть клавиатуру на Android
hw_wired 24.01.2025
При разработке Android-приложений часто возникает необходимость управлять видимостью экранной клавиатуры для улучшения пользовательского опыта. Одним из наиболее эффективных способов контроля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru