dataGridView中的编程取消选中CheckboxColumn
-
12-10-2019 - |
题
如何通过编程方式取消选中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;
}
不隶属于 StackOverflow