1.简介
RepositoryItemCheckEdit默认有三种状态,选中状态、未选中状态和半选中状态(半选中状态通常用在TreeList中如果父节点下的子节点有选中的有未选中的,则父节点状态为半选中状态)。
通常情况下我们只用选中和非选中状态即可,修改方式如下:
默认情况下,RepositoryItemCheckEdit的空值,会显示为灰色半选中状态,要想改为白色空状态,需要修改NullStyle属性为Unchecked。
2.应用
顾名思义,该控件在gridControl中实现一列CheckEdit,用于进行勾选,实际情况中,我们多以多选为需求,RepositoryCheckEdit实现多选的方式有2中,分别如下:
1.若RepositoryItemCheckEdit所在的列未绑定数据源,那么该列默认只可以单选;如果绑定了数据源,那么可以同时多选。
此时,将数据源中的字段绑定到FieldName即可,如下:
此时,将字段的值与checkedit的值进行对应即可,如下
List<Student> studentList = new List<Student> { new Student() { Selected="N",Name="张三",Age=22 }, new Student() { Selected="N",Name="李四",Age=20 }, new Student() { Selected="N",Name="王五",Age=24}}; repositoryItemCheckEdit1.ValueUnchecked = "N"; //定义选中状态值 repositoryItemCheckEdit1.ValueChecked = "Y"; //绑定数据 gridControl1.DataSource = studentList;
此处,对应的值可以是字符串,数字或其他类型,最好与字段值对应,如数据库中保存的是char(0和1),那么此处即可定义1和0.
2.设置gridview的MultiSelect和MultiSelectMode属性
此时,直接将数据源绑定到gridControl 即可
List<Student> studentList = new List<Student> { new Student() { Selected="N",Name="张三",Age=22 }, new Student() { Selected="N",Name="李四",Age=20 }, new Student() { Selected="N",Name="王五",Age=24}}; gridControl2.DataSource = studentList;
本片主要介绍,repositorycheckeidt简单的应用于单列的情况,可以参考一下帖子:
基于DevExpress开发的GridView如何实现一列显示不同的控件类型
DevExpress XtraGrid RepositoryItemCheckEdit 复选框多选的解决方法(转)
分析:
平时的开发中,应用本文上述方法即可以方便的进行开发,参考的帖子中的内容其实和上述方法是一样的,只是,在值对应转换的部分转换成了代码,并没有在设计器中设置。若是,项目开发过程中,是使用代码进行控件创建以及事件注册,则可以用帖子中的方法,比如我下一篇gridControl在同一列的不同行创建不同的控件(以CheckEidt搭配ButtonEdit为例)要介绍的。
在下一篇中,我将描述如何在同一列中构建不同的控件,并实现与本帖相似的checkedit多选功能,并标注出应该重点注意的地方。