DataGridViewDataErrorEventArgs Classe

Définition

Fournit des données pour l'événement DataError.

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
Héritage

Exemples

L’exemple de code suivant montre comment répondre aux informations fournies par la DataGridViewDataErrorEventArgs classe . Cet exemple fait partie d’un exemple plus large disponible dans la rubrique vue d’ensemble de la DataGridViewComboBoxColumn classe.

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 (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) _
        Then
        MessageBox.Show("Commit error")
    End If
    If (e.Context = DataGridViewDataErrorContexts _
        .CurrentCellChange) Then
        MessageBox.Show("Cell change")
    End If
    If (e.Context = DataGridViewDataErrorContexts.Parsing) _
        Then
        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

Remarques

La gestion de l’événement DataError vous permet de gérer les exceptions levées par du code en dehors de votre contrôle (par exemple, par une source de données externe). Utilisez la Context propriété pour déterminer l’état du DataGridView au moment de l’exception. Utilisez la Exception propriété pour récupérer les données d’exception. Si vous souhaitez gérer l’exception par des gestionnaires d’événements supplémentaires, définissez la propriété sur ThrowExceptiontrue.

Les ColumnIndex propriétés et RowIndex indiquent normalement la cellule dans laquelle l’erreur de données s’est produite. Toutefois, lorsque l’erreur se produit dans une source de données externe, la source de données peut ne pas fournir la colonne dans laquelle l’erreur s’est produite. Dans ce cas, la ColumnIndex propriété indique généralement la colonne de la cellule active au moment de l’erreur.

Constructeurs

DataGridViewDataErrorEventArgs(Exception, Int32, Int32, DataGridViewDataErrorContexts)

Initialise une nouvelle instance de la classe DataGridViewDataErrorEventArgs.

Propriétés

Cancel

Obtient ou définit une valeur indiquant si l'événement doit être annulé.

(Hérité de CancelEventArgs)
ColumnIndex

Obtient l'index de colonne de la cellule sur laquelle l'événement se produit.

(Hérité de DataGridViewCellCancelEventArgs)
Context

Obtient des informations sur l'état de DataGridView lorsque l'erreur s'est produite.

Exception

Obtient l'exception qui représente l'erreur.

RowIndex

Obtient l'index de ligne de la cellule sur laquelle l'événement se produit.

(Hérité de DataGridViewCellCancelEventArgs)
ThrowException

Obtient ou définit une valeur indiquant s'il faut lever l'exception une fois que le délégué DataGridViewDataErrorEventHandler a fini de la traiter.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi