dataGridView默认错误对话框句柄

时间:2016-06-12 16:58:49

标签: c# datagridview

我正在尝试隐藏默认的datagridview错误对话框。 我在代码中输入了这个事件处理程序:

        this.dataGridView2.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(dataGridView2_DataError);


    private void dataGridView2_DataError(object sender, DataGridViewDataErrorEventArgs e)
    {
        //empty so it doesn't show anything
    }

但是当我尝试这个并将datagridview单元格保留为空(从中删除所有内容)时,它会显示错误的对话框。

错误的屏幕截图:

enter image description here

3 个答案:

答案 0 :(得分:3)

尝试处理和Cancel事件:

private void dataGridView2_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
    e.Cancel = true;
}

答案 1 :(得分:1)

尝试使用此代码来处理事件:

private void dataGridView2_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
    e.Cancel = true;
}

答案 2 :(得分:1)

尝试下一个代码,就可以了!

 private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
    {
        try
        {
            //To handle 'ConstraintException' default error dialog (for example, unique value)
            if ((e.Exception) is System.Data.ConstraintException)
            {
                // ErrorText glyphs show
                dataGridView1.Rows[e.RowIndex].ErrorText = "must be unique value";
                dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].ErrorText = "must be unique value";

                //...or MessageBox show
                MessageBox.Show(e.Exception.Message, "Error ConstraintException",
                                               MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                //Suppress a ConstraintException
                e.ThrowException = false;
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "ERROR: dataGridView1_DataError",
                                     MessageBoxButtons.OK, MessageBoxIcon.Error);
        }         
    }