今天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;
}
}
本文解决了点击全不选按钮时GridView中CheckBoxColumn无响应的问题。通过对DataGrid编辑状态的理解及使用EndEdit方法,成功实现了全不选功能。

被折叠的 条评论
为什么被折叠?



