删除DataGridView行

时间:2014-03-17 21:49:55

标签: c#

当我尝试删除DataGridView中的所有行

我得到了这个例外

  

操作无效,因为它会导致重新调用     SetCurrentCellAddressCore函数

注意:

我试过这个

datagridview1.Rows.Clear();

和这个

foreach (DataGridViewRow item datagridview1.Rows)
{
    datagridview1.Rows.Remove(item);
}

和这个

foreach (DataGridViewRow item datagridview1.Rows)
{
    datagridview1.Rows.RemoveAt(item.index);
}

2 个答案:

答案 0 :(得分:0)

尝试在删除行之前调用datagridview1.EndEdit(); 另见:Why is my bound DataGridView throwing an “Operation not valid because it results in a reentrant call to the SetCurrentCellAddressCore function” error?

编辑:请注意,您无法删除以下事件处理程序中的行:

  • CellEnter
  • CellLeave
  • CellValidating
  • CellValidated
  • RowEnter
  • RowLeave
  • RowValidated
  • RowValidating

来源:MSDN

答案 1 :(得分:0)

清除DataGridView绑定的数据源。

datasource.Clear()