将dataGridView转换为dataTable:错误

时间:2012-09-07 18:41:44

标签: c# .net datagridview datatable

我想将DataGridView转换为DataTable。

using (DataTable dt = new DataTable())
{
    dt.Columns.Add("column1", typeof(int));
    dt.Columns.Add("column2", typeof(string));
    dt.Columns.Add("column3", typeof(int));
    foreach (DataGridViewRow dgvR in dgQBM)
    {
        dt.Rows.Add(dgvR.Cells[0].Value, dgvR.Cells[1].Value);
    }
}

错误:

foreach statement cannot operate on variables of type 
'System.Windows.Forms.DataGridView' because 'System.Windows.Forms.DataGridView' 
does not contain a public definition for 'GetEnumerator'

3 个答案:

答案 0 :(得分:0)

应该是:

foreach (DataGridViewRow dgvR in dgQBM.Rows)
{
  ...

答案 1 :(得分:0)

尝试使用Rows

using (DataTable dt = new DataTable())
            {
                dt.Columns.Add("column1", typeof(int));
                dt.Columns.Add("column2", typeof(string));
                dt.Columns.Add("column3", typeof(int));
                foreach (DataGridViewRow dgvR in dgQBM.Rows)
                {
                    dt.Rows.Add(dgvR.Cells[0].Value, dgvR.Cells[1].Value);
                }
            }

答案 2 :(得分:0)

一行尝试一下...速度性能代码。

DataTable dt = (DataTable)dgQBM.DataSource;