Winform datagridview checkbox全选问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform datagridview checkbox全选问题相关的知识,希望对你有一定的参考价值。
为什么点击全选按钮之后,其他行checkbox都能选中,就是第一行不能选中呢?包括删除多条数据,有没有这方面的源码供参考一下,十分感谢!!
我推测你应该是使用DataSet绑定到DataGridView的,当按下全选按钮时,通过更改DataSet(DetaTable)中的值来达到选中的目的,由于第一行是当前行,当前行的编辑没有结束之前是不会更新到DataGridView上的。
你可以调用一下DataGridView的EndEdit()方法,应该就可以了。
如果不行,你把你全选按钮的代码贴出来。 参考技术A 肯定是起始行索引搞错了啊,起始行的索引是0,并不是1 参考技术B 自己调试看第一个元素为什么没被选中
winForm-DataGridView操作——DataGridView 操作属性说明
一、DataGridView 取得或者修改当前单元格的内容:
核心:DataGridView1.CurrentCell.Value;
1、当前单元格的Index:
列:DataGridView1.CurrentCell.ColumnIndex;
行:DataGridView1.CurrentCell.RowIndex
2、当前单元格位置:DataGridView.CurrentCellAddress//结果:{X,Y}
列:DataGridView.CurrentCellAddress.Y
行:DataGridView.CurrentCellAddress.X
第2种方法可以避免或者取消共享事件。
/// <summary> /// 单元格点击事件(在单元格的任何部分被单击时发生) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { //获取当前点击的行列索引 MessageBox.Show("第"+e.RowIndex + "行,第"+ e.ColumnIndex+"列的值:"+dataGridView1.CurrentCell.Value); //获取当前点击的位置{X=?,Y=?} MessageBox.Show("位置:" + dataGridView1.CurrentCellAddress.ToString()); // 可以取消激活的单元格 dataGridView1.CurrentCell.Value = null; } /// <summary> /// 单元格内容点击事件(在单元格中的内容被单击时发生) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { //获取当前点击的行列索引 MessageBox.Show("第"+e.RowIndex+"行,第"+e.ColumnIndex+"列的值:" + dataGridView1.CurrentCell.Value); //获取当前点击的位置{X=?,Y=?} MessageBox.Show("位置:"+dataGridView1.CurrentCellAddress.ToString()); // 可以取消激活的单元格 dataGridView1.CurrentCell.Value = null; }
以上是关于Winform datagridview checkbox全选问题的主要内容,如果未能解决你的问题,请参考以下文章
c# winform datagridview怎么能达到如图的效果