我想从用户选择的行开始清除datagridview。我正在尝试一些方法来实现它,但是它们都会产生一些错误,现在我有了类似的东西:
foreach(DataGridViewRow row in this.dataGridView1.Rows)
{
if(row.Index >= odelementu - 1)
dataGridView1.Rows.RemoveAt(row.Index);
}
用户需要选择我们应该从哪一行中清除datagridview,然后单击按钮
odelementu //this variable represents the starting row
我不知道为什么循环会丢失一些行。如有任何建议,我将不胜感激
最佳答案
这是因为您在DataGridViewRowCollection
循环中修改了foreach
并使index
成为inexact
。尝试以下方法:
while(dataGridView1.Rows.Count>=odelementu) {
dataGridView1.Rows.RemoveAt(odelementu-1);
}