Открытие xml в combobox - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день , мучаюсь с этим уже неделю , прошу помочь
int b = 0;
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            dataGridView2.Rows.Clear();
            int index22 = -1;
            XmlTextReader xmlIn = new XmlTextReader(openFileDialog1.OpenFile());
 
            while (xmlIn.Read())
            {
                if (xmlIn.NodeType == XmlNodeType.EndElement) { continue; }
                
                if (xmlIn.Name == "Combobox")
                {
                    if (comboBox1.Text == xmlIn.GetAttribute("man") == true)
                    {
                        b = 1;
                    }
                }
 
                if (xmlIn.Name == "Row" && b == 1)
                {
                    dataGridView2.Rows.Add();
                    index22++;
                }
 
                if (xmlIn.Name == "Proggram" && b == 1)
                {
                    dataGridView2.Rows[index22].Cells[0].Value = xmlIn.GetAttribute("Value");
                }
 
                if (xmlIn.Name == "duration" && b == 1)
                {
                    dataGridView2.Rows[index22].Cells[1].Value = xmlIn.GetAttribute("Value");
                }
 
                if (xmlIn.Name == "seqprog" && b == 1)
                {
                    dataGridView2.Rows[index22].Cells[2].Value = xmlIn.GetAttribute("Value");
                }
 
                if (xmlIn.Name == "Pauseprog" && b == 1)
                {
                    dataGridView2.Rows[index22].Cells[3].Value = xmlIn.GetAttribute("Value");
                }
            }
        }
<?xml version="1.0" encoding="utf-16"?>
<!--Файл хранит текст сетки-->
<GridText>
  <Combobox man="4">
    <Row>
      <Proggram Value="1" />
      <duration Value="30" />
      <seqprog Value="0" />
      <Pauseprog Value="0" />
    </Row>
  </Combobox>
<Combobox man="2">
    <Row>
      <Proggram Value="2" />
      <duration Value="30" />
      <seqprog Value="0" />
      <Pauseprog Value="0" />
    </Row>
  </Combobox>
</GridText>
В combobox из xml загружается <Combobox man="4"> и <Combobox man="2"> загружается именно "4" и "2" , при выборе 4 я должен занести в datagridview
<Proggram Value="1" />
      <duration Value="30" />
      <seqprog Value="0" />
      <Pauseprog Value="0" />
при выборе 2
<Proggram Value="2" />
      <duration Value="30" />
      <seqprog Value="0" />
      <Pauseprog Value="0" />
помогите пожалуйста решить проблему

Решение задачи: «Открытие xml в combobox»

textual
Листинг программы
 dataGridView2.Rows.Clear();
                index22 = -1;
                int b = 0;
                XmlTextReader xmlIn = new XmlTextReader(openFileDialog1.OpenFile());
 
                while (xmlIn.Read())
                {
                    if (xmlIn.NodeType == XmlNodeType.EndElement) { continue; }
                    if (xmlIn.Name == "Combobox")
                    {
                        if (xmlIn.GetAttribute("man") == comboBox1.Text == true)
                        {
                            b = 1;
                            //MessageBox.Show("1");
                        }
                        else
                        {
                            b = 2;
                        }
                    }
                    if (xmlIn.Name == "Row" && b == 1)
                    {
                        dataGridView2.Rows.Add();
                        index22++;
                    }
 
 
                    if (xmlIn.Name == "Proggram" && b == 1)
                    {
                        dataGridView2.Rows[index22].Cells[0].Value = xmlIn.GetAttribute("Value");
                    }
 
                    if (xmlIn.Name == "duration" && b == 1)
                    {
                        dataGridView2.Rows[index22].Cells[1].Value = xmlIn.GetAttribute("Value");
                    }
 
                    if (xmlIn.Name == "seqprog" && b == 1)
                    {
                        dataGridView2.Rows[index22].Cells[2].Value = xmlIn.GetAttribute("Value");
                    }
 
                    if (xmlIn.Name == "Pauseprog" && b == 1)
                    {
                        dataGridView2.Rows[index22].Cells[3].Value = xmlIn.GetAttribute("Value");
                    }
                    
                }
                xmlIn.Close();
                
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5