How to make a DataTable from DataGridView without any Datasource?

Mobin picture Mobin · Jun 24, 2010 · Viewed 66.6k times · Source

I want to get a DataTable from DataGridView of the Grid values.

In other words DataTable same as DataGridView Values

Answer

Hans Olsson picture Hans Olsson · Jun 24, 2010

Might be a nicer way to do it but otherwise it would be fairly trivial to just loop through the DGV and create the DataTable manually.

Something like this might work:

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