C# DataGridView删除指定行
---恢复内容开始---
最近有一个关于DataGridView删除指定行的小问题困扰着,问题是这样的:
DataGridView导入一个xls表格,如下图:
现在想将以上表格数据插入数据库,之前是想每成功插入一行数据就在DataGridView里删除一行(即让这行不显示),
没有成功插入的不删除(即显示在DataGridView里)
1 foreach (DataGridViewRow row in dataGridView1.Rows) 2 { 3 //这里写插入数据库代码(略) 4 dataGridView1.Rows.Remove(row);//删除行 5 }
使用以上代码后:
最终还是显示两行数据,但查询数据库发现5条数据已成功插入。
这与之前设想的不对了,之前是想成功插入多少条数据,就在DataGridView里相应的删除这几行数据。不成功插入的留下来。
度了很多都未果。后来G了一下,在此网站找到解决问题的灵感。
1 for (int i = 0; i < dataGridView1.Rows.Count; i++) 2 { 3 4 DataGridViewRow row = dataGridView1.Rows[i]; 5 dataGridView1.Rows.Remove(row); 6 i--; //这句是关键。。 7 8 }
至此,问题解决,赶紧记录下来。对于大牛来说,可能这些都不是问题,写在这里纯粹为了备忘。
---恢复内容结束---