C # Windows Form ComboBox Выпадающее содержимое - PullRequest
2 голосов
/ 30 октября 2009

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

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

На данный момент у меня есть следующее:

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

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

StudentSelectStudentComboBox.Items.Add(firstname + lastname);

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

Ответы [ 3 ]

1 голос
/ 15 января 2010

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

0 голосов
/ 06 ноября 2009

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

Выполните итерацию по этому набору данных и добавьте необходимые столбцы ...

0 голосов
/ 30 октября 2009

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

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

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

...