C# DataGridView删除指定行

---恢复内容开始---

最近有一个关于DataGridView删除指定行的小问题困扰着,问题是这样的:

DataGridView导入一个xls表格,如下图:

现在想将以上表格数据插入数据库,之前是想每成功插入一行数据就在DataGridView里删除一行(即让这行不显示),

没有成功插入的不删除(即显示在DataGridView里)

1 foreach (DataGridViewRow row in dataGridView1.Rows)
2 {
3    //这里写插入数据库代码(略)
4       dataGridView1.Rows.Remove(row);//删除行    
5 }
1
<br>

 使用以上代码后:

最终还是显示两行数据,但查询数据库发现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 }
复制代码

至此,问题解决,赶紧记录下来。对于大牛来说,可能这些都不是问题,写在这里纯粹为了备忘。

---恢复内容结束---

原文地址:https://www.cnblogs.com/roak/p/14168684.html