Procédure pas à pas : ajout d'une validation à un groupe de données
Cette procédure pas à pas indique comment valider des données qui ont été modifiées dans un dataset. L'endroit où vous effectuez des contrôles de validation sur vos données dépend des spécifications de votre application, pour cette procédure pas à pas, nous validons les données pendant la modification des valeurs dans les colonnes individuelles. Cette procédure pas à pas utilise l'événement ColumnChanging pour vérifier qu'une valeur acceptable est entrée dans l'enregistrement. Si la valeur n'est pas valide, un contrôle ErrorProvider est présenté à l'utilisateur.
L'exemple montre également comment utiliser le Concepteur de DataSet pour créer une classe partielle pour le dataset. (La classe partielle est l'endroit où les utilisateurs ajoutent du code pour étendre la fonctionnalité du dataset généré par Visual Studio. Elle n'est pas remplacée si le dataset est regénéré.)
Notes
Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, voir Paramètres Visual Studio.
Cette procédure pas à pas décrit notamment les tâches suivantes :
Création d'un projet d'application Windows.
Création et configuration d'un dataset à l'aide de l'Configuration de source de données (Assistant).
Sélection du contrôle à créer dans le formulaire pendant le déplacement d'éléments depuis la fenêtre Sources de données. Pour plus d'informations, consultez Comment : définir le contrôle à créer lors d'une opération de glisser-déplacer à partir de la fenêtre Sources de données.
Création d'un contrôle lié aux données en faisant glisser des éléments depuis la Sources de données (fenêtre) vers votre formulaire.
Création d'une classe partielle pour étendre la fonctionnalité du dataset.
Création d'un gestionnaire d'événements pour l'événement ColumnChanging de la table OrderDetails.
Ajout d'une validation pour confirmer que la colonne Quantity contient des valeurs supérieures à zéro.
Affichage d'un ErrorProvider, composant (Windows Forms) pour informer les utilisateurs qu'un contrôle lié aux données contient des valeurs non valides.
Composants requis
Pour exécuter cette procédure pas à pas, vous avez besoin des éléments suivants :
- avoir accès à l'exemple de base de données Northwind. Pour plus d'informations, consultez Comment : installer des exemples de bases de données.
Création d'une application Windows
Pour créer le projet d'application Windows
Dans le menu Fichier, créez un nouveau projet.
Attribuez le nom ValidationWalkthrough au projet.
Sélectionnez Application Windows et cliquez sur OK. Pour plus d'informations, consultez Développement d'applications clientes.
Le projet ValidationWalkthrough est créé et ajouté à l'Explorateur de solutions.
Création d'une source de données à partir de votre base de données
Pour créer la source de données
Dans le menu Données, cliquez sur Afficher les sources de données.
Dans la fenêtre Sources de données, sélectionnez Ajouter une nouvelle source de données pour démarrer l'Assistant Configuration de source de données.
Sélectionnez Base de données dans la page Choisir un type de source de données, puis cliquez sur Suivant.
Dans la page Choisir votre connexion de données, effectuez l'une des opérations suivantes :
Si une connexion de données à l'exemple de base de données Northwind est disponible dans la liste déroulante, sélectionnez-la.
ou
Sélectionnez Nouvelle connexion pour afficher la boîte de dialogue Ajouter/Modifier la connexion.
Si votre base de données requiert un mot de passe, sélectionnez l'option pour inclure les données sensibles, puis cliquez sur Suivant.
Cliquez sur Suivant dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l'application.
Développez le nœud Tables dans la page Choisir vos objets de base de données.
Sélectionnez la table Order Details, puis cliquez sur Terminer.
NorthwindDataSet est ajouté à votre projet et la table OrderDetails apparaît dans la fenêtre Sources de données.
Création de contrôles liés aux données
Pour créer des contrôlés liés aux données dans le formulaire
Dans la fenêtre Sources de données, sélectionnez la table Order Details.
Sélectionnez Détails dans la liste de contrôles de la table.
Faites glisser le nœud Order Details depuis la fenêtre Sources de données vers Form1.
Les contrôles liés aux données assortis d'étiquettes descriptives apparaissent dans le formulaire, ainsi qu'une barre d'outils (BindingNavigator) pour parcourir les enregistrements. Les contrôles liés aux données assortis d'étiquettes descriptives apparaissent dans le formulaire, ainsi qu'une barre d'outils (BindingNavigator) pour parcourir les enregistrements. NorthwindDataSet, Order_DetailsTableAdapter, BindingSource et BindingNavigator s'affichent dans la barre d'état des composants.
Ajout d'un contrôle ErrorProvider au formulaire
Pour configurer un contrôle ErrorProvider
Faites glisser un ErrorProvider depuis la Boîte à outils vers Form1.
Dans la fenêtre Propriétés, définissez la propriété DataSource de ErrorProvider sur Order_DetailsBindingSource.
Notes
Ne définissez pas la propriété DataMember.
Création du gestionnaire d'événements ColumnChanging
Pour créer les gestionnaires d'événements de validation
Ouvrez le NorthwindDataSet dans le Concepteur de DataSet en double-cliquant sur le fichier NorthwindDataSet.xsd dans l'Explorateur de solutions.
Double-cliquez sur la colonne Quantity de la table OrderDetails pour créer le gestionnaire d'événements OrderDetailsDataTable_ColumnChanging. (En C#, seule la classe partielle de la table de données est créée.)
Notes
Double-cliquez sur le nom de la table (Order Details dans la barre de titre) pour créer un gestionnaire d'événements pour l'événement RowChanging.
Ajoutez du code pour vérifier que e.ProposedValue contient des valeurs supérieures à 0. Si les valeurs proposées sont inférieures ou égales à 0, définissez la colonne pour qu'elle indique qu'elle contient une erreur.
Collez le code suivant dans le gestionnaire d'événements column-changing sous le commentaire Ajouter le code utilisateur ici.
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
// C# // Add the following code // to the partial class. public override void EndInit() { base.EndInit(); Order_DetailsRowChanging += TestRowChangeEvent; } public void TestRowChangeEvent(object sender, Order_DetailsRowChangeEvent e) { if ((short)e.Row.Quantity <= 0) { e.Row.SetColumnError("Quantity", "Quantity must be greater than 0"); } else { e.Row.SetColumnError("Quantity", ""); } }
Test de l'application
Pour tester l'application
Appuyez sur F5 pour exécuter l'application.
Remplacez la valeur de la zone de texte Quantity par 0.
Appuyez sur Tab pour déplacer le focus en dehors de la zone de texte.
L'icône du fournisseur d'erreurs s'affiche.
Pointez avec la souris sur le fournisseur d'erreurs pour afficher le message.
Étapes suivantes
Selon les spécifications de votre application, vous pouvez exécuter différentes étapes après l'ajout d'une validation. Vous pouvez apporter à cette procédure pas à pas les améliorations suivantes :
Ajout d'une fonctionnalité pour renvoyer des mises à jour à la base de données. Pour plus d'informations, consultez Procédure pas à pas : enregistrement de données dans une base de données (table unique).
Modification du dataset pour ajouter ou supprimer des objets de base de données. Pour plus d'informations, consultez Comment : modifier un groupe de données.
Voir aussi
Concepts
Liaison de contrôles Windows Forms à des données dans Visual Studio
Préparation de votre application pour recevoir des données
Extraction de données dans votre application
Liaison de contrôles à des données dans Visual Studio
Modification des données dans votre application