один файл XML, но необходимо заполнить 2 выпадающего списка - PullRequest
0 голосов
/ 02 февраля 2011

У меня есть 2 выпадающих списка для реализации и XML-файл выглядит следующим образом:

    <?xml version="1.0" encoding="utf-8"?>
<email>
  <builderemail>
    <builder id="1"  value="builder@xyz.com">
    </builder>
    <builder id="2" value="Others">
    </builder>
  </builderemail>
  <manageremail>
    <manager id="1" value="manager@xyz.com"></manager>
    <manager id="2" value="Others"></manager>
  </manageremail>
</email>

Я использую Visual Studio 2005, и я пытался привязать данные к каждому выпадающему списку, выбрав источник данных. мои требования заключаются в том, что один из выпадающего списка для электронной почты строителя и другой выпадающий список для электронной почты менеджера. Как мне это сделать с помощью мастера настройки источника данных?

привет

Ответы [ 2 ]

0 голосов
/ 02 февраля 2011

Эти ссылки могут вам помочь

http://www.codeproject.com/KB/aspnet/xmlboundlistcontrol.aspx

http://dotnetspidor.blogspot.com/2009/04/bind-aspnet-dropdownlist-to-xml-file.html

Но вам, возможно, придется изменить свой xml и структурировать его так:

<?xml version="1.0" encoding="utf-8"?>
<email>
  <builderemail>
    <builder> 
      <id>1</id>  
      <value>builder@xyz.com</value>
    </builder>
  </builderemail>
  <manageremail>
    <manager> 
      <id>1</id>  
      <value>manager@xyz.com</value>
    </builder>
  </manageremail>
</email>

Надеюсь, это поможет

0 голосов
/ 02 февраля 2011

Вам необходимо проанализировать xml и сохранить buildderemail и manageremail в списке, а затем предоставить в качестве источника данных выпадающий список

XmlDocument doc = new XmlDocument();
    doc.Load(@"sample.xml");
    XmlNodeList builderNodes =  doc.GetElementsByTagName("builderemail");
    XmlNodeList mangerNodes = doc.GetElementsByTagName("manageremail");


    List<string> builderMails = new List<string>();
    foreach (XmlNode node in builderNodes[0].ChildNodes)
    {
        builderMails.Add(node.Attributes["value"].Value);
    }

    List<string> mangerMails = new List<string>();
    foreach (XmlNode node in mangerNodes[0].ChildNodes)
    {
        mangerMails.Add(node.Attributes["value"].Value);
    }


     comboBox1.DataSource = builderMails;
        comboBox2.DataSource = mangerMails;
...