dataGridView多选删除
错误: 在dataGridView 中删除一行数据 但它提示:除非 DataGridView 被数据绑定到支持更改通知并允许删除的 IBindingList,否则不能以编程方式移除行
代码:
for (int i = 0; i < this.dataGridView1.RowCount; i++)
{
if (this.dataGridView1.Rows[i].Cells["xuanzhe"].Value != null)
{
if (this.dataGridView1.Rows[i].Cells["xuanzhe"].Value.ToString().ToLower() == "true")
{
this.dataGridView1.Rows.RemoveAt(i);
}
}
}
这句报的错 this.dataGridView1.Rows.RemoveAt(i);
------解决方案--------------------遍历删除一定要从后往前删,如果从前往后删,会改变Count和Index导致i大于Count出异常
for (int i = this.dataGridView1.RowCount-1; i >=0; i--)
{
if (this.dataGridView1.Rows[i].Cells["xuanzhe"].Value != null)
{
if (this.dataGridView1.Rows[i].Cells["xuanzhe"].Value.ToString().ToLower() == "true")
{
this.dataGridView1.Rows.RemoveAt(i);
}
}
}
------解决方案--------------------你数据绑定的代码贴出来看看
------解决方案--------------------在数据源中删除数据,刷新显示控件。
http://www.cnblogs.com/winzheng/archive/2009/05/25/1488960.html参考
------解决方案-------------------- 从list1里把数据删除。在重新绑定
------解决方案--------------------