今天Review同事代码发现,点击全不选按钮对选中GridView中行的CheckBoxColumn没反应,根据4年前我对VS2003使用的经验:DataGrid的CheckBoxColumn会有编辑状态,必须结束编辑状态才能进行处理。经过Baidu借鉴其他人的经验,不过发现全部是说通过模板列用CheckBox实现全选||全不全的功能,没能解决我的问题,后来考察了GirdView的属性,发现了EndEdit()方法,果不其然!
public void AllNotSelect(object sender,CommandArgs s)
{
for(int i = 0; i< gridview.rows.count; i++)
{
gridview.rows[i].Cells[0].Value = false;//设置为不选择
}
}
改为:
public void AllNotSelect(object sender,CommandArgs s)
{
gridview.EndEdit();//结束编辑模式
for(int i = 0; i< gridview.rows.count; i++)
{
gridview.rows[i].Cells[0].Value = false;
}
}