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 ……………………………… 其他列绑定数据………………………………………………