Datagridview 中的checkbox 选中或勾选状态失效
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 选中或勾选状态失效的更多相关文章
- datagridview中使用checkbox问题。
如果套用datagridview中的checkboxfield,生成的数据,会出现无法选择datagridview中数据项的问题,即checkbox不可以被鼠标点击,选中/取消选中.此checkbox ...
- DataGridView中实现checkbox全选的自定义控件
在DataGridView中实现Checkbox的全选的方法就是在列头画一个checkbox, 并给其一个事件. 这个之前很多blog都有写, 这里就不多废话了, codeproject上面有示例代 ...
- Datagridview 添加checkbox列,并判断Datagridview 中的checkbox列是否被选中
Solution1://In Fill DataGridViewEvent : DataGridViewCheckBoxColumn ChCol = new DataGridViewCheckBoxC ...
- 关于Winform下DataGridView中实现checkbox全选反选、同步列表项的处理
近期接手一个winform 项目,虽然之前有.net 的经验,但是对一些控件的用法还不是很熟悉. 这段时间将会记录一些在工作中遇到的坎坷以及对应的解决办法,写出来与大家分享并希望大神提出更好解决方法来 ...
- DataGridView 中添加CheckBox和常用处理方式 .
DataGridView 中添加CheckBox和常用处理方式 文章1 转载:http://blog.csdn.net/pinkey1987/article/details/5267934 DataG ...
- js获取到的页面中的checkbox选中的项
需求描述:列表第一列是checkbox name和value都是id 想通过复选框的勾选状态来获取id,在js中获取 js代码: var checkId=$("input[name='che ...
- DataGridView中添加CheckBox列用于选择行
DataGridView中添加CheckBox列用于选择行 1,编辑DataGridView,添加一列 CheckBox ,Name 赋值为 "select",如下图: 2,取消 ...
- ASPxGridView 选中主表一行数据,从表自动选中(勾选)对应的行
一.图解 下图为效果图,点击 [A表]种的某一行,[B表]会有与之相对于一行会被自动选中并且勾选上: 二.Html 代码 <html xmlns="http://www.w3.org/ ...
- dev gridview自动列宽和单元、行、checkbox选中和多选
#region 自动列宽 for (int I = 0; I < gridView1.Columns.Count; I++) { this.gridView1.BestFitColumns(); ...
随机推荐
- 一、初识java
理论性的东西就不在笔记中作为纪录了. 先来解释下java安装过程中的一些问题,java安装和环境配置不多做强调,可以参考http://www.cnblogs.com/JianXu/p/5158404. ...
- Java入门:基础算法之计算园的面积
本部分内容介绍如何使用Java计算圆的周长和面积.分两种方法来实现: 1)圆的半径由用户输入 2)圆的半径由程序指定 代码1: /** * @作者: 理工云课堂 * @描述: 用户输入圆的半径,程序结 ...
- centos7 U盘安装卡在 starting dracut initqueue hook解决办法
U盘安装centos7启动过程中出现: [ok] Reached target Basic System 或者 [ok] starting dracut initqueue hook 到下一行就不 ...
- python eval 用法
eval 功能:将字符串str当成有效的表达式来求值并返回计算结果. 语法: eval(source[, globals[, locals]]) -> value 参数: source:一个Py ...
- Java基础之疑难知识点
问题列表: 1. Java中子类中可以有与父类相同的属性名吗? 2. Java中子类继承了父类的私有属性及方法吗? 3. Java中抽象类到底能不能被实例化? 1. Java中子类中可以有与父类相同的 ...
- linux查看tomcat日志
声明:以上内容均为转载,个人对这块知识搜罗之后放在一起,非原创,以后这块有问题还会继续添加. Tomcat 日志分为下面5类: catalina . 相当命令行输出日志 localhost . 相当于 ...
- day15 接口与异常
接口 是一种独立于类的新机制,它关注的是行为. 接口的意义就体现在——让没有继承关系的类共享这些行为,各有各的具体实现. 设计上:当我们发现一个或多个类的方法相同,又没有继承关系,则考虑接口. 命名: ...
- bzoj千题计划173:bzoj1257: [CQOI2007]余数之和sum
http://www.lydsy.com/JudgeOnline/problem.php?id=1257 k%i=k-int(k/i)*i 除法分块,对于相同的k/i用等差序列求和来做 #includ ...
- 穷竭搜索:POJ 3187 Backward Digit Sums
题目:http://poj.org/problem?id=3187 题意: 像这样,输入N : 表示层数,输入over表示最后一层的数字,然后这是一个杨辉三角,根据这个公式,由最后一层的数,推出第一行 ...
- 【Foreign】Rectangle [KD-tree]
Rectangle Time Limit: 50 Sec Memory Limit: 512 MB Description Input Output Sample Input 0 4 2 0 2 1 ...