DataBindingComplete被多次调用

5 c# data-binding datagridview winforms

我在c#中创建一个windows应用程序,

我有1个Datagridview,在我设置它的DataSource后它应该有3行.

我已将2个事件Habdlers附加到Datagrdview

void dgvProductList_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)<br>
{
     //this gets called 4 times
}

private void dgvProductList_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{            
    //gets called 2 times.
}
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?我将如何解决这个问题?

提前致谢...

Pet*_*der 6

来自msdn在线DataBindingComplete事件

当数据源的内容更改或DataSource,DataMemberBindingContext属性的值更改时,将引发此事件.

例如,如果要分配Datasource,然后添加3行 - > 4次事件触发


小智 0

我相信这取决于您实际设置数据源的其他方法。在我看来,您要么设置 DataSource 两次,要么调用 DataBind 两次,并且在每个 DataBind 上,您实际上会在 DataGridView 中获取两行,因此总共 4 行。

一些额外的代码可能会有所帮助...

需要尝试的一些事情:在代码中搜索 DataBind()、DataSource() 等,并确保仅在适当的位置调用它。

此外,假设数据绑定之间发生了某些变化……状态发生了一些变化……如果没有背景,真的很难说,调用两次 DataBind 并不一定是坏事。