使用GridControl自带选中复选框实现单选效果

效果图

在这里插入图片描述

设计界面

在界面中添加GridControl,形成以下大概界面,点击Run Designer
在这里插入图片描述
在这里插入图片描述
在gridView1选择OptionSelection属性,设置MultiSelect设置为True,在MultiSelectMode,选择CheckBoxRowSelect
在这里插入图片描述
设置完成之后界面如图所示
在这里插入图片描述
我们将表头的复选框设置为我们想要的名字
在这里插入图片描述
设置该列标题,设置事件CustomDrawColumnHeader,双击如图红框中内容
在这里插入图片描述
添加如下代码
在这里插入图片描述

 private void gridView1_CustomDrawColumnHeader(object sender, DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e)
        {
            if (e.Column!=null&&e.Column.Caption=="Selection")
            {
                e.Info.Caption = "选择";
            }
        }

运行之后,界面如图所示
在这里插入图片描述
接下来我们控制只能选一行,在RowCellClick事件中控制
在这里插入图片描述
代码如图所示

  private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
           
          if (e.Column.Caption == "Selection")
            {
                if (gridView1.SelectedRowsCount > 0)
                {
                    for (int i = 0; i < this.gridView1.RowCount; i++)
                    {
                        //                MessageBox.Show(this.gridView1.IsRowSelected(i).ToString() + "\n" + this.gridView1.FocusedRowHandle.ToString() + "\n" + i.ToString() + "\n" +
                        //gridView1.SelectedRowsCount);
                        if (e.Clicks == 1 && this.gridView1.IsRowSelected(i) && this.gridView1.FocusedRowHandle.ToString().Equals(i.ToString()) == false )
                        {
                            this.gridView1.UnselectRow(i);
                        }

                    }
                }
            }
        }

运行效果

在这里插入图片描述

参考链接

GridControl中复选框 动态取消选中_weixin_30692143的博客-CSDN博客
GridControl 设置自带选中复选框及设置该列列头名称_weixin_33915554的博客-CSDN博客

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值