私は DataGridView とボタンを持っています。
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() が必要になります。