经过反复测试 发现还是因为WinForm 中 DataGridView 如果处于编辑状态 ,那么全选按钮是获取不到CheckBox 选中的值得 ,必须结束DataGridView 列的编辑状态
/// <summary>
/// 全选
/// </summary>
private void SelectAll()
{
//结束列表的编辑状态,否则可能无法改变CheckBox的状态
dgvLimitRegion.EndEdit();
for (var i = 0; i < dgvLimitRegion.Rows.Count; i++)
{
dgvLimitRegion.Rows[i].Cells[0].Value = true;//设置为选中状态
}
}
/// <summary>
/// 取消全选
/// </summary>
private void UnSelectAll()
{
//结束列表的编辑状态,否则可能无法改变CheckBox的状态
dgvLimitRegion.EndEdit();
for (var i = 0; i < dgvLimitRegion.Rows.Count; i++)
{
dgvLimitRegion.Rows[i].Cells[0].Value = false;//设置为取消选中状态
}
}