DataGridViewDataErrorEventArgs クラス


DataError イベントのデータを提供します。Provides data for the DataError event.

public ref class DataGridViewDataErrorEventArgs : System::Windows::Forms::DataGridViewCellCancelEventArgs
public class DataGridViewDataErrorEventArgs : System.Windows.Forms.DataGridViewCellCancelEventArgs
type DataGridViewDataErrorEventArgs = class
    inherit DataGridViewCellCancelEventArgs
Public Class DataGridViewDataErrorEventArgs
Inherits DataGridViewCellCancelEventArgs

DataGridViewDataErrorEventArgsクラスによって提供される情報に応答する方法を次のコード例に示します。The following code example demonstrates how to respond to information provided by the DataGridViewDataErrorEventArgs class. この例は、クラスの概要に関するトピックでDataGridViewComboBoxColumn紹介されている大規模な例の一部です。This example is part of a larger example available in the DataGridViewComboBoxColumn class overview topic.

    void DataGridView1_DataError(Object^ sender, DataGridViewDataErrorEventArgs^ anError)

        MessageBox::Show("Error happened " + anError->Context.ToString());

        if (anError->Context == DataGridViewDataErrorContexts::Commit)
            MessageBox::Show("Commit error");
        if (anError->Context == DataGridViewDataErrorContexts::CurrentCellChange)
            MessageBox::Show("Cell change");
        if (anError->Context == DataGridViewDataErrorContexts::Parsing)
            MessageBox::Show("parsing error");
        if (anError->Context == DataGridViewDataErrorContexts::LeaveControl)
            MessageBox::Show("leave control error");

        if (dynamic_cast<ConstraintException^>(anError->Exception) != nullptr)
            DataGridView^ view = (DataGridView^)sender;
            view->Rows[anError->RowIndex]->ErrorText = "an error";
            view->Rows[anError->RowIndex]->Cells[anError->ColumnIndex]->ErrorText = "an error";

            anError->ThrowException = false;
private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs anError)

    MessageBox.Show("Error happened " + anError.Context.ToString());

    if (anError.Context == DataGridViewDataErrorContexts.Commit)
        MessageBox.Show("Commit error");
    if (anError.Context == DataGridViewDataErrorContexts.CurrentCellChange)
        MessageBox.Show("Cell change");
    if (anError.Context == DataGridViewDataErrorContexts.Parsing)
        MessageBox.Show("parsing error");
    if (anError.Context == DataGridViewDataErrorContexts.LeaveControl)
        MessageBox.Show("leave control error");

    if ((anError.Exception) is ConstraintException)
        DataGridView view = (DataGridView)sender;
        view.Rows[anError.RowIndex].ErrorText = "an error";
        view.Rows[anError.RowIndex].Cells[anError.ColumnIndex].ErrorText = "an error";

        anError.ThrowException = false;
Private Sub DataGridView1_DataError(ByVal sender As Object, _
ByVal e As DataGridViewDataErrorEventArgs) _
Handles DataGridView1.DataError

    MessageBox.Show("Error happened " _
        & e.Context.ToString())

    If (e.Context = DataGridViewDataErrorContexts.Commit) _
        MessageBox.Show("Commit error")
    End If
    If (e.Context = DataGridViewDataErrorContexts _
        .CurrentCellChange) Then
        MessageBox.Show("Cell change")
    End If
    If (e.Context = DataGridViewDataErrorContexts.Parsing) _
        MessageBox.Show("parsing error")
    End If
    If (e.Context = _
        DataGridViewDataErrorContexts.LeaveControl) Then
        MessageBox.Show("leave control error")
    End If

    If (TypeOf (e.Exception) Is ConstraintException) Then
        Dim view As DataGridView = CType(sender, DataGridView)
        view.Rows(e.RowIndex).ErrorText = "an error"
        view.Rows(e.RowIndex).Cells(e.ColumnIndex) _
            .ErrorText = "an error"

        e.ThrowException = False
    End If
End Sub


イベントをDataError処理すると、コントロール外部のコードによってスローされた例外を処理できます (たとえば、外部データソースによって)。Handling the DataError event lets you handle exceptions thrown by code outside your control (for example, by an external data source). プロパティを使用して、 DataGridView例外発生時のの状態を確認します。 ContextUse the Context property to determine the state of the DataGridView at the time of the exception. Exceptionプロパティを使用して、例外データを取得します。Use the Exception property to retrieve the exception data. 追加のイベントハンドラーによって例外を処理する場合は、 ThrowExceptionプロパティをtrueに設定します。If you want to handle the exception by additional event handlers, set the ThrowException property to true.

プロパティColumnIndexRowIndexプロパティは、通常、データエラーが発生したセルを示します。The ColumnIndex and RowIndex properties normally indicate the cell in which the data error occurred. ただし、外部データソースでエラーが発生した場合、データソースは、エラーが発生した列を提供しないことがあります。When the error occurs in an external data source, however, the data source may not provide the column in which the error occurred. この場合、プロパティはColumnIndex通常、エラー発生時の現在のセルの列を示します。In this case, the ColumnIndex property typically indicates the column of the current cell at the time of the error.


DataGridViewDataErrorEventArgs(Exception, Int32, Int32, DataGridViewDataErrorContexts)

DataGridViewDataErrorEventArgs クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataGridViewDataErrorEventArgs class.



イベントをキャンセルするかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the event should be canceled.

(継承元 CancelEventArgs)

イベントが発生したセルの列インデックスを取得します。Gets the column index of the cell that the event occurs for.

(継承元 DataGridViewCellCancelEventArgs)

エラーが発生したときの DataGridView の状態の詳細を取得します。Gets details about the state of the DataGridView when the error occurred.


エラーを表す例外を取得します。Gets the exception that represents the error.


イベントが発生したセルの行インデックスを取得します。Gets the row index of the cell that the event occurs for.

(継承元 DataGridViewCellCancelEventArgs)

DataGridViewDataErrorEventHandler デリゲートが終了した後に例外をスローするかどうかを示す値を取得または設定します。Gets or sets a value indicating whether to throw the exception after the DataGridViewDataErrorEventHandler delegate is finished with it.



指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)