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