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即可。