XtraGrid RepositoryItemCheckEdit 显示状态以及单选多选问题
RepositoryItemCheckEdit默认有三种状态,选中状态、未选中状态和半选中状态(半选中状态通常用在TreeList中如果父节点下的子节点有选中的有未选中的,则父节点状态为半选中状态)。
通常情况下我们只用选中和非选中状态即可,修改方式如下:
默认情况下,RepositoryItemCheckEdit的空值,会显示为灰色半选中状态,要想改为白色空状态,需要修改NullStyle属性为Unchecked。
如果RepositoryItemCheckEdit所在的列未绑定数据源,那么该列默认只可以单选;如果绑定了数据源,那么可以同时多选。
在绑定数据源的情况下实现只可以单选,可以通过循环每行的状态来实现。
1: /// <summary>
2: /// 选择状态改变触发事件
3: /// </summary>
4: /// <param name="sender"></param>
5: /// <param name="e"></param>
6: private void repositoryItemCheckEditKey_CheckedChanged(object sender, EventArgs e)
7: {
8: DataTable dt = gridControlDetial.DataSource as DataTable;
9: for (int i = 0; i < dt.Rows.Count; i++)
10: {
11: dt.Rows[i][0] = false;
12: }
13: gridControlDetial.RefreshDataSource();
14: }
因为CheckedChanged触发后并未立即更新到数据源,因此勾选该行状态在数据源中还是False,只有在焦点离开该行时,才能更新到数据源。
所以直接将数据源中各行的状态修改为False即可。
posted on 2014-11-27 10:42 jingkunliu 阅读(11125) 评论(0) 编辑 收藏 举报