Как сделать DataTable из DataGridView без какого-либо источника данных?

Я хочу получить DataTable из DataGridView значений Grid.

Другими словами, DataTable аналогичен значениям DataGridView

Ответ 1

Возможно, это будет более приятный способ сделать это, но в противном случае было бы довольно тривиально просто прокрутить DGV и создать DataTable вручную.

Что-то вроде этого может работать:

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

Ответ 2

Вы можете передать объект DataSource из DataGridView в DataTable

DataTable dt = new DataTable();
dt = (DataTable)dataGridView1.DataSource;

Ответ 3

вы также можете использовать следующий код, этот код не влияет на ваш DataGridView, когда вы добавляете или удаляете строки в datatable

DataTable dt = new DataTable();
dt = Ctype(dataGridView1.DataSource,DataTable).copy();

Ответ 4

dim ddt как новый datatable, затем добавьте столбцы в datatable согласно вашему требованию, затем используйте цикл, чтобы добавить строки в datatable
Для я как целое число = 0 для dataGridView1.RowCount - 1 ddt.Rows.Add(dataGridView1.Rows(i).Cells("Nsons1"). Value, dataGridView1.Rows(i).Cells("name1"). Value, dataGridView1.Rows(i).Cells("BalDdt"). Значение, dataGridView1.Rows(i).Cells("Кредит"). Значение)

    Next