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;
        }
    
View Code

 

以上是关于Winform datagridview checkbox全选问题的主要内容,如果未能解决你的问题,请参考以下文章

winform datagridview怎么选中多行

winform中datagridview 选中行操作的问题

C# winform datagridview如何计算统计

c# winform datagridview怎么能达到如图的效果

C# .net不同版本中winform控件 dataGrid /DataGrid/DataGridView 有啥区别

c# winform DataGridView添加一行,添加数据后,保存到数据库