Quel évenement pour une case à coché dans une datagridview ?

Résolu
cs_PegaseJM Messages postés 80 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 28 août 2006 - 13 juil. 2006 à 17:55
cs_PegaseJM Messages postés 80 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 28 août 2006 - 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...

5 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
17 juil. 2006 à 09:54
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# 
3
cs_PegaseJM Messages postés 80 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 28 août 2006 2
17 juil. 2006 à 09:38
Bah alors les pro ? Ya personne pour m'aider ? :p
0
cs_PegaseJM Messages postés 80 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 28 août 2006 2
17 juil. 2006 à 10:18
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...
0
cs_PegaseJM Messages postés 80 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 28 août 2006 2
17 juil. 2006 à 10:27
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_PegaseJM Messages postés 80 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 28 août 2006 2
17 juil. 2006 à 10:34
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...
0
Rejoignez-nous