Verifier colonne datagridview en C# [Résolu]

Messages postés
19
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
3 octobre 2011
- - Dernière réponse : Whismeril
Messages postés
12368
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
- 3 oct. 2011 à 06:56
Bonjour,

J'aurai besoin de vos lumiere en C#
je dispose d'un datagridView appele contrat
Dans cette datagridview il existe plusieurs colonne, (col1, col2, col3....col4);
j'arrive a insérer, modifier supprimer et sauvegarde des informations sans grandes difficultés
l’idée est que j'aimerai juste avant de sauvegarde un changement de la datagridview vérifier la validité des informations qui ont été saisies
1) Si l'info saisi est incorrecte, message Box.Show pour inviter le user a ressaisir les données invalides donc retour sur la ligne en question.
2) Si l'info est valide j'affiche un Message pour dire que les modifications ont bien été pris en compte.

Mon problème est de savoir comment accéder une colonne spécifique et vérifier la valeur contenu dans cette colonne et force le user a modifier la valeur de cette colonne..

exemple

nom-datagrid: contrat
j'aimerai verifier que le colonne num_contrat est bien un champs numerique??

Merci de votre aide!!!!
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
12368
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
3
Merci
Bonjour,
si tu as lié directement ta table avec le datagridview, tu peux regarder cellule par cellule.
Tu crees une row à laquelle tu associes ta ligne à vérifier
MaRow = contrat.Rows[1]

Ensuite tu regardes la cellule (il me semble me souvenir qu'il y a .Cells), tu extrais le .Text ou le .Value.
Mais cela t'oblige à vérifier à chaque saisie.

En utilisant le binding ça le fait pour toi (y'a pas les messages, mais ça n'accepte pas la saisie erronée).
Tu crées une classe qui représente ta table (ou par exemple la propriété num_contrat est un int)(MaClasse).
Dans le concepteur de ta Form, à la propriété DataSource de ton datagridview, tu cliques sur "ajouter la source de données du projet", tu cliques sur "Objet" et tu navigues jusqu'à MaClasse.
Cela va créer un lien entre la structure de MaClasse et ton datagridview, ce lien se trouve matérialisé dans un databindindsource.
Cela va te créer des colonnes correspondant à chaque propriété de MaClasse dans le datagridview.
Sur le bord haut une petite flèche te permets d'accéder aux paramètres du tableau (ordres des propriétés, entêtes, etc.)

Tu charges ta table dans une List<T> de cette classe.
Tu affectes ta liste au DataSource du databindingsource.

Et voilà.

Avec cette méthode du peux remplir toutes sortes de contrôles (TextBox, Labels, ListBox, ComboBox, etc...)
Si tu sélectionnes une ligne dans ton tableau, tous les contrôles liées sont mis à jour.
Si tu modifies une valeur dans l'un ou l'autre tous, les autres sont mis à jours.
Tu peux gérer les formats d'affichage (séparateurs de milliers, arrondi etc...).

C'est pratique.



Whismeril

Merci Whismeril 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Whismeril
Messages postés
19
Date d'inscription
mercredi 31 octobre 2007
Dernière intervention
3 octobre 2011
0
Merci
Hello
Quel bonheur de lire cette réponse!!! en effet c'est très pratique comme solution.
tu as non seulement résolu mon problème mais tant d'autre a venir comme les mises a jour automatique.
Encore une fois Merçi.
Commenter la réponse de chiro2000
Messages postés
12368
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
0
Merci
De rien


Whismeril
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.