dgv数据绑定后,添加行遇到过的问题并解决

1. 当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行

解决方法:((DataTable)Dgv.DataSource).Rows.Add("", "");需添加行的数据

2.无法将类型为“System.Collections.Generic.List`1[Model.Sales_return_goods]”的对象强制转换为类型“System.Data.DataTable”。

解决方法:主要是绑定dgv dgv.DataSource!=类型“System.Data.DataTable”。

                  只用dgv.DataSource=dt 就解决了

3.输入数组长度大于此表中的列数。

解决方法:创建一个有列头的空的DataTable ,然后赋给dgv

 DataTable dt = new DataTable();

 dt.Columns.Add(new DataColumn("number", typeof(string)));

  …………多列列头添加…………

DataRow row1 = dt.NewRow();
row1["goods_number"] =“”“;

………………

 dt.Rows.Add(row1);

4. ((DataTable)Dgv.DataSource).Rows.Add("", "",……)数据绑定后添加行中的数据对应不上dgv单元格的内容

例如出现类似的报错情况

解决方法:

1                     DataGridViewRow row = new DataGridViewRow();
2                     DataRow rowindex = ((DataTable)Dgv.DataSource).Rows.Add(row);
3                     rowindex["xxx"] = "";
4                     rowindex["xxx"] = "";
5 
6            ……………………………… 其他列绑定数据………………………………………………
原文地址:https://www.cnblogs.com/bonnie-w/p/7613959.html