Des cases à cocher dans DataGridView pas de tir CellValueChanged événement
Je suis en utilisant ce code:
//Cell value change event.
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if ((bool)dataGridView1.CurrentCell.Value == true) MessageBox.Show("true");
if ((bool)dataGridView1.CurrentCell.Value == false) MessageBox.Show("false");
MessageBox.Show(dataGridView1.CurrentCell.Value.ToString());
}
Il fonctionne très bien pour toutes les colonnes, à l'exception de la colonne avec une case à cocher (DataGridViewCheckBoxColumn
)
J'ai besoin de savoir la valeur dans la colonne de cases à cocher (vrai ou faux).
Que dois-je faire pour cela?
- C'est un mauvais titre. Veuillez le mettre à jour. Vous pouvez la lire meta.stackexchange.com/questions/10647/...
- Le lien ci-dessous les réponses à ta question: social.msdn.microsoft.com/Forums/windows/en-US/...
- A votre question a été répondu? Ou êtes-vous encore avoir des problèmes?
Vous devez vous connecter pour publier un commentaire.
De travail avec
DataGridViewCheckBoxColumn
peut parfois être un peu délicate, car il y a certaines règles qui s'appliquent spécifiquement seulement à laCells
de ce type de colonne. Ce code doit gérer le problème que vous rencontrez.La
CurrentCellDirtyStateChanged
événement valide les modifications immédiatement lorsque la cellule est cliqué. Vous augmenter manuellement laCellValueChanged
événement lors de l'appel de laCommitEdit
méthode.Visite ici pour plus d'informations sur le travail avec les
DataGridViewCheckBoxCell
.MSDN dit ici que CellValueChanged de ne pas le feu jusqu'à ce que la cellule a perdu le focus.
Quelques solutions:
DataGridView.CellContentClick
http://codingeverything.blogspot.com/2013/01/firing-datagridview-cellvaluechanged.html
Je suis venu avec un peu différente de la solution.
- Je utiliser le CurrentCellDirtyStateChanged événement pour vérifier si la colonne est la colonne de cases à cocher, et si elle est, je manuellement le feu de la CellValueChanged événement de la sorte:
Le mieux est d'étendre la grille par la création de votre propre grille, prêt avec ces différents "trucs et astuces". Croyez-moi, il y a beaucoup de choses qui ont besoin pour les ajustements dans cette grille.
Suggéré code à l'aide de