每次加载数据时都会调用datagridview rowsremoved事件。在某种程度上,每次加载数据时都会删除现有行。所以在技术上应该召唤这个事件。
但是我如何区分实际的删除按钮被按下。我不认为应该使用关键事件,这不是一个干净的方法。
非常感谢任何帮助。
答案 0 :(得分:1)
您可以使用私有布尔变量来了解何时加载以及何时加载。
private bool IsLoading { get; set; }
在表单Load事件中,设置变量
private void MyForm_Load(object sender, EventArgs e)
{
this.IsLoading = true;
// do stuff
this.IsLoading = false;
}
private void DataGridView_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
{
if (this.IsLoading)
{
return;
}
//do stuff
}
答案 1 :(得分:0)
您可以在加载网格之前删除事件处理程序,然后再重新添加它吗?
答案 2 :(得分:0)
您可以改为使用UserDeletedRow事件。
答案 3 :(得分:0)
这对我有所帮助:
If questionList.SelectedRows.Count > 0 Then
End If
另请参阅:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.userdeletingrow.aspx