C# dev bandedGridView自制简易勾选框,支持全选和取消全选

bandedGridView 设置 MultiSelete 不管用
下面研究了一种简单的实现勾选框的方法

1.在绑定数据的实体类中,增加一列,bool类型的值
可以在获取数据时,自己把这个bool值赋值为false,
也可以,设置column的nullText 为false,
调整一下宽度,然后设置该列为第一列。
在这里插入图片描述

2.全选和取消全选
拖动一个checkBox,拖到这列的band上
在这里插入图片描述
增加CheckStateChanged事件,代码如下

        private void checkBox1_CheckStateChanged(object sender, EventArgs e)
        {
            List<demoClass> dataSource = this.gridControl1.DataSource as List<demoClass>;
            if (checkBox1.Checked)
            {
                foreach (demoClass del in dataSource)
                {
                    del.check = true;
                }
                this.bandedGridView1.RefreshData();
                gridControl1.Refresh();
            }
            else
            {
                foreach (demoClass del in dataSource)
                {
                    del.check = false;
                }
                this.bandedGridView1.RefreshData();
                gridControl1.Refresh();
            }
        }

3.效果
获取已经勾选的值,可以遍历数据源,check = true就是被勾选的数据

   List<demoClass> dataSource = this.gridControl1.DataSource as List<demoClass>;
   List<demoClass> isCheckList = dataSource.Where(t => t.check == true).ToList();

在这里插入图片描述

提取码 0lgh


版权声明:本文为weixin_43976890原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。