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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM