c # - DataGridView uden DataSource til XML-streng

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har nogle DataGridViews på en formular, og vil gerne have en XML-streng fra den.
Men af ​​en eller anden grund det giver ' Undtagelse kastet:' System.NullReferenceException '' på returpunktet.
Når jeg ser inde i forkant rækker, har den de data, jeg har lagt i.
Hvad er problemet her?


    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();
    }

Bedste reference


Du har ikke fortalt som på hvilken linje det slår det, men som jeg får det, kopierer du alle data fra DGV til DT, så du kan analysere DataSet.GetXml();?


Hvis det er tilfældet, hvorfor gør du bare ikke:


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


Jeg ved, at det ikke løser din nullfejl, men hvorfor ville du løse det, når du har nemmere måde at gøre dig på. Andre måde fortælle mig, hvilken linjefejl der falder, og jeg vil forsøge at forklare hvorfor det sker.