【问题标题】:How i can cancel editing datagridview by clicking button if dataerror?如果dataerror,我如何通过单击按钮取消编辑datagridview?
【发布时间】:2013-10-08 11:07:36
【问题描述】:

我有 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,我会到达myD​​ataGridView_DataError并留在那里。

我想要以下逻辑:无论我输入什么数据,如果我点击cancelBtn,我都想要cancelBtn_Click()。

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

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

    【讨论】:

    • 或 myDataGridView.CausesValidation = false
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多