Question

Comment puis-je décocher toutes les lignes programmation d'un DataGridViewCheckboxColumn dans un datagridview?

Je peux obtenir la valeur correcte de la case à cocher en utilisant

(bool)row.Cells[CheckBoxColumn.Index].FormattedValue

mais c'est seulement un getter.

J'ai essayé de définir la valeur de la cellule en utilisant

(bool)row.Cells[CheckBoxColumn.Index].value = false

mais qui ne porte pas atteinte au FormattedValue.

Comment puis-je résoudre ce problème?

Était-ce utile?

La solution

Vous faites STH. comme:

(row.Cells[CheckBoxColumn.Index] as DataGridViewCheckBoxCell).value = false;

Vous venez de oublié de caster le type correct, un DataGridViewCell générique ne connaît pas sa valeur de type.

Autres conseils

ai pas vérifié mais vous pouvez essayer;

CheckBox cb = (row.Cells[CheckBoxColumn.Index].Controls[0] as CheckBox);
if(cb != null)
{
    cb.Checked = false;
}

Il de type peut être différent. Il suffit de débogage et de le jeter à ce qu'il est.

Avez-vous essayé la coulée du premier contrôle dans la colonne de case à cocher case à cocher, puis définir « checked » true?

Essayez quelque chose dans cette mesure.

((DataGridViewCheckBoxCell)e.Rows[0].Cells[0]).Selected = true
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
  dr.Cells[0].Value = true;//sıfırın
}

Si vous utilisez dataGridView1_ContextClick juste pour faire "false" datagidviewCheckBox colonne besoin de ce code:

dataGridView1.CancelEdit();

mais si vous avez besoin de toutes les lignes de CheckBoxColumns de DataGrid:

private void button1_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow r in dataGridView1.Rows)
    {
        r.Cells["statusBox"].Value = true;
    }
}

Boucle sur chaque ligne de vue de la grille et en utilisant le procédé de commande de find:

foreach ( GridViewRow row in myGridView )
{
     CheckBox checkBox = ( CheckBox ) row.FindControl( "myCheckBox" );
     checkbox.Checked = false;
}
 foreach (DataGridViewRow row in datagridviewname.Rows)

  {
    row.Cells[CheckBoxColumn1_Name].Value = false;
  }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top