1、问题描述,先选中第一行,再取消选择,然后点击部门全选,第一行没有打钩,状态是不选中的状态。

2、分析代码

先选中第一行,单元格的单击事件中 改变选中状态为1,第一行取消选择,单元格的单击事件中 改变选中状态为0

 private void dgvDept_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= && e.ColumnIndex == )
{
if (this.dgvDept.Rows[e.RowIndex].Cells["colSelect"].Value.ToString() == "")
{
this.dgvDept.Rows[e.RowIndex].Cells["colSelect"].Value = ;
}
else
{
this.dgvDept.Rows[e.RowIndex].Cells["colSelect"].Value = ;
}
} }

2、点击全选按钮,此时第一个单元格没有结束它的编辑状态,此时执行全选,单元格1的状态先变为1,然后才会结束他的编辑状态,再次状态改变事件把值赋为0,

private void btnDeptSelectAll_Click(object sender, EventArgs e)

        {
dgvDept.EndEdit(); //此处必须加上结束编辑状态代码,切记
if (btnDeptSelectAll.Text == "部门全选")
{
btnDeptSelectAll.Text = "部门全不选";
btnDeptSelectAll.Image = global::KJMonitorSystem.Properties.Resources.SelectNull;
for (int i = ; i < dgvDept.Rows.Count; i++)
{
this.dgvDept.Rows[i].Cells["colSelect"].Value = ;
}
}
else
{
btnDeptSelectAll.Text = "部门全选";
btnDeptSelectAll.Image = global::KJMonitorSystem.Properties.Resources.SelectAll;
for (int i = ; i < dgvDept.Rows.Count; i++)
{
this.dgvDept.Rows[i].Cells["colSelect"].Value = ;
}
}
//dgvDept.ClearSelection();
//dgvDept.Refresh();
}

当你需要保存修改过后的内容,必须将光标指向另外一行, DataGridView才会将编辑过后的数据提交到数据缓存区,当你操作完DataGridview的时候,又没有移动另一行,你在上面的修改有可能还没有提交到数据缓存区,你在执行代码获取DataGridView上面修改的行数据时不一定能获取到修改后的内容,所以,想重新读取到修改后的内容,为了安全起见,手动执行一下DataGridView.EndEdit(),让修改后的内容提交到缓存区,这样就可以读取到DataGridView修改后的内容了。

Datagridview 中的checkbox 选中或勾选状态失效的更多相关文章

  1. datagridview中使用checkbox问题。

    如果套用datagridview中的checkboxfield,生成的数据,会出现无法选择datagridview中数据项的问题,即checkbox不可以被鼠标点击,选中/取消选中.此checkbox ...

  2. DataGridView中实现checkbox全选的自定义控件

    在DataGridView中实现Checkbox的全选的方法就是在列头画一个checkbox, 并给其一个事件. 这个之前很多blog都有写, 这里就不多废话了,  codeproject上面有示例代 ...

  3. Datagridview 添加checkbox列,并判断Datagridview 中的checkbox列是否被选中

    Solution1://In Fill DataGridViewEvent : DataGridViewCheckBoxColumn ChCol = new DataGridViewCheckBoxC ...

  4. 关于Winform下DataGridView中实现checkbox全选反选、同步列表项的处理

    近期接手一个winform 项目,虽然之前有.net 的经验,但是对一些控件的用法还不是很熟悉. 这段时间将会记录一些在工作中遇到的坎坷以及对应的解决办法,写出来与大家分享并希望大神提出更好解决方法来 ...

  5. DataGridView 中添加CheckBox和常用处理方式 .

    DataGridView 中添加CheckBox和常用处理方式 文章1 转载:http://blog.csdn.net/pinkey1987/article/details/5267934 DataG ...

  6. js获取到的页面中的checkbox选中的项

    需求描述:列表第一列是checkbox name和value都是id 想通过复选框的勾选状态来获取id,在js中获取 js代码: var checkId=$("input[name='che ...

  7. DataGridView中添加CheckBox列用于选择行

    DataGridView中添加CheckBox列用于选择行 1,编辑DataGridView,添加一列 CheckBox ,Name 赋值为 "select",如下图: 2,取消 ...

  8. ASPxGridView 选中主表一行数据,从表自动选中(勾选)对应的行

    一.图解 下图为效果图,点击 [A表]种的某一行,[B表]会有与之相对于一行会被自动选中并且勾选上: 二.Html 代码 <html xmlns="http://www.w3.org/ ...

  9. dev gridview自动列宽和单元、行、checkbox选中和多选

    #region 自动列宽 for (int I = 0; I < gridView1.Columns.Count; I++) { this.gridView1.BestFitColumns(); ...

随机推荐

  1. 执行composer install后报错:执行composer install后报错: d11wtq/boris v1.0.10 requires ext-pcntl * -> the requested PHP extension pcntl is missing from your system.

    执行composer install后报错: d11wtq/boris v1.0.10 requires ext-pcntl * -> the requested PHP extension p ...

  2. vue中的slot与slot-scope

    深入理解vue中的slot与slot-scope vue+element-ui+slot-scope或原生实现可编辑表格 vue插槽详解

  3. 如何给list清空

    1.list = new ArrayList<String>(): 2.list.clear(); 3.list=null;

  4. Java中创建线程的三种方法以及区别

    Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.Java可以用三种方式来创建线程,如下所示: 1)继承Thread类创建线程 2)实现Runnable接口创建线 ...

  5. 【学习笔记】FreeMarker 之于Servlet与Stuts2的应用

    FreeMarker应用在Servlet(0配置web.xml形式): 准备环境: tomcat7.eclipse最新版.jdk1.8.freemarker v2.3.20.jar 举例项目结构图: ...

  6. 【js学习笔记】去除省、市、区、特别行政区、自治区

    不是很懂js,以前去除这些省.市.区的时候都是用的分支判断indexOf,如果!=-1则replace一次,今天看同事的代码,发现还有更简单的办法... var areaName = str.repl ...

  7. OAuth2:Authorization Flows

    Ref:http://www.dannysite.com/blog/176/ OAuth2.0协议定义了用于获得授权的四种主要授权类型. 1. Client Credentials 一种基于APP的密 ...

  8. 精心整理的十个必须要知道CSS+DIV技巧

    1.css font的简写规则  当我们写字体样式的时候,我们也许会这样子写 font-size: 1em; line-height: 1.5em; font-weight: bold; font-s ...

  9. WebService环境变量

    将axis2部署到tomcat的webapps文件夹下: 因为该路径用于自动部署Web应用,将Web应用复制在该路径下,tomcat会将应用自动部署在容器中. AXIS_LIB:F:\tomcat\w ...

  10. python 操作 Redis

    目录 Redis 模块基本介绍 参考 redis redis-py 的 API 连接 redis 普通连接 连接池 redis 字符串操作 单次设置key-value 批量设置key-value re ...