DataGridView без источника данных в строку XML - PullRequest
0 голосов
/ 18 мая 2018

У меня есть несколько DataGridViews на форме, и я хотел бы получить из нее строку XML.Но по какой-то причине он выдает « Исключение:« System.NullReferenceException »» в точке возврата.Когда я заглядываю внутрь строк foreach, он содержит данные, которые я ввел. В чем здесь проблема?

    public string DataGridViewToXML(DataGridView DGV)
    {
        DataTable DT = new DataTable();
        foreach (DataGridViewColumn col in DGV.Columns) { DT.Columns.Add(col.Name); }
        foreach (DataGridViewRow row in DGV.Rows)
        {
            DataRow dRow = DT.NewRow();
            foreach (DataGridViewCell cell in row.Cells) { dRow[cell.ColumnIndex] = cell.Value; }
            DT.Rows.Add(dRow);
        }
        return DT.DataSet.GetXml();
    }

1 Ответ

0 голосов
/ 18 мая 2018

Вы не сказали, по какой строке он его выбрасывает, но когда я его получаю, вы копируете все данные из DGV в DT, чтобы вы могли проанализировать DataSet.GetXml();?

Если этоВот почему вы просто не делаете:

public string DataGridViewToXML(DataGridView DGV)
{
    return (DGV.DataSource as DataTable).DataSet.GetXml();
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...