为什么我的绑定DataGridView抛出"操作无效,因为它导致对SetCurrentCellAddressCore函数的可重入调用"错误?

pri*_*nka 26 .net c# datagridview winforms

DataGridView控件绑定到绑定源时,我的应用程序中出现以下错误:

操作无效,因为它导致对SetCurrentCellAddressCore函数的可重入调用

绑定源取决于数据表.我正在从DataGridView过滤记录.我使用了dataGridView1_CellValueChanged()我正在过滤DataGridView 的事件.但是当我从当前单元格中删除数据时,会发生此错误.

我该如何解决这个问题?

Bra*_*ith 31

提出异常是DataGridView为了防止发生无限循环.造成这种情况的原因通常是以下之一:

  • 在当前活动的单元上执行操作时更改活动单元
  • 在单元格编辑已在进行中时,开始,结束或取消编辑模式
  • DataGridView仍在使用活动单元格时导致活动单元格被更改的任何其他操作

看看你的CellValueChanged事件处理程序,并确保你没有在处理程序中执行上述任何操作.


小智 28

这很可能是由于您在保存后尝试刷新DataGridView而导致的.我建议你调用方法而不是只是调用它.

   BeginInvoke(new MethodInvoker(PopulateControl ));
Run Code Online (Sandbox Code Playgroud)