C # Windows Form ComboBox Выпадающее содержимое

2

У меня есть XML файл с моими данными. Я хочу заполнить выпадающие параметры в поле со списком с двумя полями этого XML файла - FirstName и LastName.

В XML-документе я использую GUID для уникального ID-формата, поэтому для выпадающего списка combobox для каждой уникальной переменной GUID потребуется имя FirstName + LastName.

До сих пор я был следующим:

XmlDocument xmlReturnDoc = new XmlDocument();
xmlReturnDoc.Load("Data.xml");

XmlNodeList firstname = xmlReturnDoc.GetElementsByTagName("FirstName");
XmlNodeList lastname = xmlReturnDoc.GetElementsByTagName("LastName");

StudentSelectStudentComboBox.Items.Add(firstname + lastname);

Это не работает... Любая помощь будет принята с благодарностью.

  • 0
    ОК, так что это не работает. Какой бит? Сообщение об ошибке поможет.
Теги:
guid
winforms
combobox

3 ответа

1
Лучший ответ

Так как вам, вероятно, придется позже делать другие материалы с информацией, я бы создал пользовательский класс хранения данных со всеми обязательными полями, а затем извлек информацию из XML в коллекцию этих пользовательских классов. Чтобы сделать отображение, все, что вам нужно сделать, это добавить элементы в список (или привязать данные, в зависимости от того, что вы предпочитаете) и переопределить ToString в пользовательском классе.

0

Другой вариант - использовать функцию ReadXML в Dataset и получить весь XML файл в наборе данных.

Итерации через этот набор данных и добавление необходимых столбцов...

0

Вы добавляете один элемент, который является конкатенацией двух XmlNodeList s. Итак, ваш ComboBox, вероятно, имеет только один элемент в нем, верно?

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

Вероятно, вы должны перебрать родительский элемент FirstName и LastName и выбрать там узлы. Это должно быть лучшим решением.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню