2013-10-08 51 views
0

我有DataGridView和按钮。如何通过单击按钮取消编辑datagridview如果dataerror?

DataGridView myDataGridView = new DataGridView(); 
Button cancelBtn = new Button(); 

我订阅的事件

myDataGridView.DataError += myDataGridView_DataError; 
cancelBtn.Click += cancelBtn_Click; 

我的事件处理程序

void myDataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e) 
{ 
//show error message 
MessageBox.Show(e.Exception.Message); 
//set to editing element original value 
curRowDataGrid.CancelEdit(); 
} 

void cancelBtn_Click(object sender, EventArgs e) 
{ 
curRowDataGrid.CancelEdit(); 
//and some specific additional logic 
} 

但是,如果我在cancelBtn点击(如果点击之前,我写了错误的值),我不明白的事件处理程序cancelBtn_Click,我到myDataGridView_DataError并呆在那里。

我想要下面的逻辑:无​​论我输入的数据如果我点击cancelBtn我想得到cancelBtn_Click()。

回答

0

虽然单击取消按钮,但在取消按钮的单击事件之前,页面中某个未处理的异常可能由于您提供的错误数据而导致,请求将转至DataError事件处理程序。 更好的是,在您的代码中实施适当的异常处理,抑制您不想触发的异常。

+0

或myDataGridView.CausesValidation = false – isxaker

相关问题