如何通过编程方式取消选中DataGridView中DataGridViewCheckBoxColumn中的所有行?

我可以使用使用的正确值

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

但这只是一个好处。

我尝试使用使用单元格的值

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

但这不会影响格式值。

我该如何解决?

有帮助吗?

解决方案

你做STH。喜欢:

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

你刚才 忘记 要投放正确的类型,通用的datagridViewCell不知道其值类型。

其他提示

尚未检查,但您可以尝试;

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

类型可能不同。只是调试并将其施加到它的本质上。

您是否尝试在复选框中施放第一个控件以进行复选框,然后将“检查”设置为true?

尝试某种程度。

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

如果您使用datagridview1_contextclick仅用于“ false” datagidviewcheckbox列需要此代码:

dataGridView1.CancelEdit();

但是,如果您需要datagrid的所有复选框cockboxcolumns:

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

循环穿过每一排网格视图,并使用查找控制方法:

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;
  }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top