J'ai une vue de données dont la source de données est datatable. J'ajoute une colonne de case à cocher à cette vue de données. Deux problèmes auxquels je suis bloqué: 1. Lorsque l'utilisateur clique sur l'une des cellules de cette colonne, je dois d'abord obtenir l'état de la case à cocher. 2. Si l'état n'est pas coché, une boîte de message apparaît pour demander si l'utilisateur veut le vérifier. Il s'agit d'une boîte aux lettres YesNoCancel. L'état de la case à cocher doit être coché si l'utilisateur sélectionne Oui ou Non. Pour annuler, il doit conserver l'état d'origine. Si l'état est coché et que l'utilisateur clique sur la case à cocher, une boîte de message apparaît demandant si l'utilisateur veut décocher la case (OuiNon), oui il doit changer l'état à non coché et Non il doit laisser la case à cocher Etat.Modification de l'état de la case à cocher dans une colonne de case à cocher en fonction d'une condition
Voici le code qui ne semble pas fonctionner:
if (e.RowIndex != -1)
{
DataGridViewRow dr = dataGridView1.CurrentRow;
DataGridViewCheckBoxCell chkCell = (DataGridViewCheckBoxCell)dr.Cells[0];
if (chkCell.Value == null)
{
DialogResult dResult = MessageBox.Show("Do you want to mark this value for deletion?","Delete",MessageBoxButtons.YesNoCancel);
if (dResult == DialogResult.Yes)
{
chkCell.Value = true;
}
else if (dResult == DialogResult.No)
{
chkCell.Value = true;
}
else if (dResult == DialogResult.Cancel)
{
chkCell.Value = false;
}
}
//else if ((bool)chkCell.Value == true)
else if ((bool)chkCell.Value == true)
{
DialogResult dResult = MessageBox.Show("Do you want to unmark this value!","Delete",MessageBoxButtons.YesNo);
if (dResult==DialogResult.Yes)
{
chkCell.Value = false;
}
else
{
chkCell.Value = true;
}
}
else if ((bool)chkCell.Value == false)
{
DialogResult dResult = MessageBox.Show("Do you want to mark this value for deletion?", "Delete", MessageBoxButtons.YesNoCancel);
if (dResult == DialogResult.Yes)
{
chkCell.Value = true;
}
else if (dResult == DialogResult.No)
{
chkCell.Value = false;
}
}
}
Le code est en cas CellContentClick.
Dans quel événement se situe ce code? – Thies
C'est dans l'événement dataGridView1_CellContentClick –