Программно снимите флажок флажок в представлении данных - PullRequest
3 голосов
/ 18 января 2011

Как программно снять все строки в DataGridViewCheckboxColumn в представлении данных?

Я могу получить правильное значение флажка, используя

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

но это всего лишь геттер.

Я попытался установить значение ячейки с помощью

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

но это не влияет на FormattedValue.

Как я могу решить это?

Ответы [ 7 ]

2 голосов
/ 18 января 2011

Вы делаете что-то. как:

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

Вы просто забыли привести к правильному типу, универсальный DataGridViewCell не знает свой тип значения.

0 голосов
/ 05 марта 2016

Если вы используете dataGridView1_ContextClick только для "ложного" столбца datagidviewCheckBox, вам потребуется этот код:

dataGridView1.CancelEdit();

но если вам нужны все строки CheckBoxColumns DataGrid:

private void button1_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow r in dataGridView1.Rows)
    {
        r.Cells["statusBox"].Value = true;
    }
}
0 голосов
/ 12 июля 2013
 foreach (DataGridViewRow row in datagridviewname.Rows)

  {
    row.Cells[CheckBoxColumn1_Name].Value = false;
  }
0 голосов
/ 17 января 2012
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
  dr.Cells[0].Value = true;//sıfırın
}
0 голосов
/ 18 января 2011

Переберите все строки в сетке и используйте метод управления поиском:

foreach ( GridViewRow row in myGridView )
{
     CheckBox checkBox = ( CheckBox ) row.FindControl( "myCheckBox" );
     checkbox.Checked = false;
}
0 голосов
/ 18 января 2011

Не проверено, но вы можете попробовать;

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

Это может быть другой тип. Просто отладьте и приведите его к тому, что он есть.

0 голосов
/ 18 января 2011

Вы пытались привести первый элемент управления в столбце флажок к флажку, а затем установить для параметра «Проверено» значение true?

Попробуйте что-нибудь в этом роде.

((DataGridViewCheckBoxCell)e.Rows[0].Cells[0]).Selected = true
...