datagridview в xml через linq
От: Petar07  
Дата: 27.10.13 20:54
Оценка:
Добрый вечер! Не выходит сохранить datagridview в файл xml, получаю лишь
<?xml version="1.0" encoding="utf-8"?>
<Root />
вот сам кусок сохранения
private void button2_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveDialog = new SaveFileDialog();
            saveDialog.Filter = "Xml files (*.xml)|*.xml";
            saveDialog.FilterIndex = 2;
            saveDialog.RestoreDirectory = true;
            saveDialog.InitialDirectory = "c:\\";
            saveDialog.FileName = "XML_File";
            saveDialog.Title = "XML_Export";

            if (saveDialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    XDocument doc = new XDocument(new XElement(XName.Get("Root")));
                    XElement row = null;
                    for (int i = 0; i < dataGridView1.RowCount; i++)
                    {
                        row = new XElement(XName.Get("Row"), new XAttribute(XName.Get("Number"), i));
                        for (int j = 0; j < dataGridView1.ColumnCount; j++)
                        {
                            row.Add(new XElement(XName.Get("Column"), new XAttribute(XName.Get("Number"), j))
                                .Value = String.Format("{0:0.00}", dataGridView1.Rows[i].Cells[j].Value));
                        }                      
                    } 
                    doc.Save(saveDialog.FileName);

                    MessageBox.Show("Файл успешно сохранен!", "Сохранение файла", MessageBoxButtons.OK, MessageBoxIcon.Information);

                }

                catch (Exception ex)
                {

                    MessageBox.Show(ex.Message);

                }
            }
        }

Подскажите, в чем проблема может быть?
Re: datagridview в xml через linq
От: cvetkov  
Дата: 28.10.13 05:34
Оценка:
а где row добавляется в doc?
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[2]: datagridview в xml через linq
От: Petar07  
Дата: 28.10.13 17:57
Оценка:
Здравствуйте, cvetkov, Вы писали:

C>а где row добавляется в doc?


да, да, добавил doc.Root.Add(row);
результат изменился теперь получаю
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Row Number="0">ПетровИванАлександрович</Row>
<Row Number="0">ПетровИван</Row>
<Row Number="0">ПетровИванАлександрович</Row>
<Row Number="1">ИвановВасилийПетрович</Row>
<Row Number="1">ИвановВасилий</Row>
<Row Number="1">ИвановВасилийПетрович</Row>
<Row Number="2">ОнОнаОни</Row>
<Row Number="2">ОнОна</Row>
<Row Number="2">ОнОнаОни</Row>
</Root>

почему не появляются строки с тэгами <Column>?
Re[3]: datagridview в xml через linq
От: cvetkov  
Дата: 28.10.13 21:13
Оценка:
я не эксперт, возможно важен порядок.
попробуй сначала column в row добавить, а потом roe в doc
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.