Quel évenement pour une case à coché dans une datagridview ? [Résolu]

cs_PegaseJM 80 Messages postés jeudi 22 juillet 2004Date d'inscription 28 août 2006 Dernière intervention - 13 juil. 2006 à 17:55 - Dernière réponse : cs_PegaseJM 80 Messages postés jeudi 22 juillet 2004Date d'inscription 28 août 2006 Dernière intervention
- 17 juil. 2006 à 10:34
Bonjour,

J'ai des cases à cocher dans certaines colonnes de mon DataGridView.
j'aimerai ce qu'il faut faire pour déclencher un événement lorsque je coche ou décoche une de ces cases...

Merci d'avance...
Afficher la suite 

5 réponses

Répondre au sujet
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 17 juil. 2006 à 09:54
+3
Utile
Salut

J'allais te proposer d'utiliser l'event CellContentClick mais apparement, il y a plus propre
cf http://msdn2.microsoft.com/fr-fr/library/bxt3k60s.aspx

<hr />Le DataGridViewCheckBoxColumn est utilisé avec les valeurs Boolean et CheckState. Les valeurs Boolean s'affichent comme des cases à cocher à deux ou trois états, selon la valeur de la propriété
ThreeState. Lorsque la colonne est liée aux valeurs CheckState, la propriété ThreeState a la valeur true par défaut.
En général, les valeurs de cellules des cases à cocher sont destinées soit au stockage, comme toutes autres données, soit à l'exécution d'opérations en bloc. Si vous souhaitez répondre immédiatement lorsque les utilisateurs cliquent sur une cellule de case à cocher, vous pouvez gérer l'événement
CellClick, mais cet événement se produit avant la mise à jour de la valeur de la cellule. Si vous avez besoin de la nouvelle valeur au moment du clic, l'une des options consiste à calculer ce que la valeur attendue sera selon la valeur actuelle. Une autre approche est de valider immédiatement la modification et de gérer l'événement
CellValueChanged pour y répondre. Pour valider la modification lors d'un clic sur la cellule, vous devez gérer l'événement
CurrentCellDirtyStateChanged. Dans le gestionnaire, si la cellule active est une cellule de case à cocher, appelez la méthode
CommitEdit et passez la valeur
Commit.

<hr />
Mx
MVP C# 
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de MorpionMx
cs_PegaseJM 80 Messages postés jeudi 22 juillet 2004Date d'inscription 28 août 2006 Dernière intervention - 17 juil. 2006 à 09:38
0
Utile
Bah alors les pro ? Ya personne pour m'aider ? :p
Commenter la réponse de cs_PegaseJM
cs_PegaseJM 80 Messages postés jeudi 22 juillet 2004Date d'inscription 28 août 2006 Dernière intervention - 17 juil. 2006 à 10:18
0
Utile
Dans l'exemple de MSDN (CurrentCellDirtyStateChanged), j'ai une erreur sur DataGridViewDisableButtonCell (inconnu au bataillon)

je vais essayer tes autres propositions... Je te tiens au courant...
Commenter la réponse de cs_PegaseJM
cs_PegaseJM 80 Messages postés jeudi 22 juillet 2004Date d'inscription 28 août 2006 Dernière intervention - 17 juil. 2006 à 10:27
0
Utile
Re bonjour,

En fait, j'ai encore essayé la méthode CurrentCellDirtyStateChanged proposée, et j'ai enlevé de l'exemple tout ce qui est gestion de buttons... Vu que j'ai pas de buttons... du coup, ca marche... Il me retourne bien la nouvelle valeur (après click)

Extra !

Merci beaucoup
Commenter la réponse de cs_PegaseJM
cs_PegaseJM 80 Messages postés jeudi 22 juillet 2004Date d'inscription 28 août 2006 Dernière intervention - 17 juil. 2006 à 10:34
0
Utile
PS.: J'ai enlevé du code le .Invalidate()

Et ca marche mieux (le traitement est plus rapide). J'avais en effet un temps de latence bizzare avec cette méthode...
Commenter la réponse de cs_PegaseJM

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.