从DataGridView向DataTable添加行时ArgumentException

时间:2015-07-04 06:18:00

标签: c# datagridview datatable

我对C#编程很新。我想将DataGridView的用户输入带到DataTable。但是,我从这段代码中获得了ArgumentException

DataTable dd=new DataTable();
       foreach (DataGridViewRow dr in dataGridView1.Rows)
       {
           dd.Rows.Add(dr);
       }

我有什么方法可以解决它吗?我也想从dataGridView1获得输入的替代方案 编辑:忘了提,dataGridView1有一个comboBox列 edit2:错误读取“输入数组长于此表中的列数。”

1 个答案:

答案 0 :(得分:1)

  

输入数组比此表中的列数长。

在向其添加行之前,您必须向DataTable添加一列,例如:dd.Columns.Add("SomeColumnName")

但是,如果没有特别要求使用DataTable,那么您应该使用List来存储行。这是一个更简单的数据结构。

var listOfRows = gridView.Rows.Cast<DataGridViewRow>().ToList();