Comment : valider les données au cours des modifications de colonnes

Mise à jour : novembre 2007

La validation des données est le processus de vérification des valeurs entrées dans les données de votre application. Il peut être utile de vérifier ces valeurs avant d'envoyer des mises à jour au magasin de données sous-jacent afin de réduire le nombre potentiel d'allers-retours entre une application et le magasin de données.

Remarque :

Le Concepteur de DataSet crée une classe partielle où la logique de validation peut être ajoutée à un groupe de données. Le groupe de données généré par le concepteur ne supprime ou ne modifie aucun code dans la classe partielle. Pour plus d'informations, consultez Comment : étendre les fonctionnalités d'un groupe de données.

Vous pouvez valider des données lorsque la valeur contenue dans une colonne de données change en réponse à l'événement ColumnChanging. Lorsqu'il est déclenché, cet événement passe un argument d'événement (ProposedValue) qui contient la valeur proposée pour la colonne actuelle. Selon le contenu de e.ProposedValue, vous pouvez :

  • Accepter la valeur proposée en n'effectuant aucune opération.

  • Refuser la valeur proposée en définissant l'erreur de colonne (SetColumnError) à partir du gestionnaire d'événements de modification de colonne.

  • Vous pouvez éventuellement utiliser un contrôle ErrorProvider pour afficher un message d'erreur à l'attention de l'utilisateur. Pour plus d'informations, consultez ErrorProvider, composant (Windows Forms).

La validation peut également être effectuée pendant l'événement RowChanging. Pour plus d'informations, consultez Comment : valider les données au cours des modifications de lignes.

Pour valider les données au fur et à mesure que les valeurs des colonnes changent

  1. Ouvrez votre groupe de données dans le Concepteur de DataSet. Pour plus d'informations, consultez Comment : ouvrir un groupe de données dans le Concepteur de DataSet.

  2. Double-cliquez sur la colonne modèle à valider. Cette action entraîne la création du gestionnaire d'événements ColumnChanging du DataTable.

    Remarque :

    Le Concepteur de DataSet ne crée pas automatiquement de gestionnaire d'événements pour l'événement C#. Le code nécessaire au traitement de l'événement est inclus ci-dessous.

  3. Ajoutez le code permettant de vérifier que ce e.ProposedValue contient des données répondant aux exigences de votre application. Si la valeur proposée est inacceptable, définissez la colonne afin d'indiquer qu'elle contient une erreur.

    L'exemple de code suivant définit une erreur de colonne lorsque la colonne Quantity a une valeur inférieure ou égale à 0. Le gestionnaire d'événements de modification de colonne doit se présenter sous la forme suivante :

    'Visual Basic
    Private Sub Order_DetailsDataTable_ColumnChanging(ByVal sender As System.Object, ByVal e As System.Data.DataColumnChangeEventArgs) _
        Handles Me.ColumnChanging
    
        If (e.Column.ColumnName = Me.QuantityColumn.ColumnName) Then
    
            If CType(e.ProposedValue, Short) <= 0 Then
            e.Row.SetColumnError(e.Column, "Quantity must be greater than 0")
        Else
            e.Row.SetColumnError(e.Column, "")
            End If
        End If
    End Sub
    
    // C#
    // Add this code to the DataTable 
    // partial class.
        public override void EndInit()
        {
            base.EndInit();
            ColumnChanging += SampleColumnChangingEvent;
        }
    
        public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e)
        {
            if (e.Column.ColumnName == QuantityColumn.ColumnName)
            {
                if ((short)e.ProposedValue <= 0)
                {
                    e.Row.SetColumnError("Quantity", "Quantity must be greater than 0");
                }
                else
                {
                    e.Row.SetColumnError("Quantity", "");
                }
            }
        }
    

Voir aussi

Tâches

Procédure pas à pas : affichage de données sur un formulaire dans une application Windows

Comment : valider des données dans le contrôle DataGridView Windows Forms

Comment : afficher des icônes d'erreur pour la validation de formulaire à l'aide du composant ErrorProvider Windows Forms

Comment : établir une connexion à des données d'une base de données

Concepts

Vue d'ensemble de TableAdapter

Concepteur de DataSet

Vue d'ensemble des sources de données

Référence

Sources de données, fenêtre

Autres ressources

Validation des données