Datagridview

Signaler
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
-
Messages postés
2
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
7 novembre 2007
-
voila
j'ai un autre probleme que je ne sais resoudre (chaud les datagridview)
imaginons que g plusieur scolonnes et plusieurs lignes
la derniere ligne est réservé pour le total des colonnes (donc des decimaux ds ces colones)

je verifie que j'ai bien un nombre avec l'evnt cellendedit (try convert.todecimal....)
si je rentre un nombre ca gere, si je rentre un "mot" ou une lettre  et que je tape entrer g le message d'erreur qui s'affiche
mais le currentcell (ou le selected cell) passe a la ligne suivante et ce n'est pas du tout ce que je veux. Je veux qu'il reste sur la meme ligne dans ce cas la.

apparemment c apres l'evnt cellendedit que cela se produit mais je ne sais pas comment (c c# qui gere ca)

COmment faire?

5 réponses

Messages postés
117
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2008

Salut,
Je pense qu'il faut récupérer l'erreur dans l'event CellValidating et faire e.Cancel = true.

@+
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
ds cellvalidating on parvient bien a bloquer le deplacement du currentcell.
par contre je maitrise mal le moment ou se declenche ce cellvalidating j'ai l'impression qu'il se declenche a chaque fois qu'on quitte la cellule ou une cellule quelconque?
et quand j'appuie sur entrée l'info ne semble pas etre prise en compte (seul les fleches semblent declencher cet evenement )
Messages postés
117
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2008

En effet, le CellValidating se produit lorsqu'une cellule perd le focus d'entrée, activant ainsi la validation du contenu.
Là où je ne comprends pas c'est quand tu dis que la touche "Enter" fait passer à la ligne suivante, ce n'est pas le cas pour moi.
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
non ce que je voulai sdire c que justement l'appuie d ela touche entrer apres saisie du texte ou des données ne provoque pas cellvalidating. G donc utiliser cellendedit pour laquelle  entrer provoque l'evenement. Dans le cas normal (par exemple si la verification des données donne un resultat correct) le currentcell passe a la cellule suivante (celle d'en dessous par exemple) mais lorsque la verification n'est pas faite je voudrais que le currentcell reste la cellule actuelle et c ca que je n'arrive pas a faire.
Je n'utilise pas cellvalidating parce que si je veux annuler ce que j'ai fait et quitter (appuie sur la croix) et que le contenu de la cellule n'est pa sdu type que je veux je ne peux quitter et surtout l'appuie sur la touche entrer (apres saisie de texte) comme je le disait ne declenche pa sl'evt cellvalidating.


Un idée?


 


Merci
Messages postés
2
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
7 novembre 2007

Bonjour,

Réponse tardive, mais si ça peut aider d'autres personnes ...
Il faut gérer l'erreur dans l'évènement DataError, qui se produit lorsqu'une validation a échouée.

A+