DevExpress根據(jù)條件設置GridControl RepositoryItem是否可編輯
本文實例展示了DevExpress根據(jù)條件設置GridControl RepositoryItem是否可編輯的方法。
一般在C#項目的開發(fā)中,并不是每個RepositoryItem都可以編輯,往往是有條件性的,需要譬如當A列等于“AA”的時候,B列才可編輯,實現(xiàn)起來在ShowingEditor事件中最為方便,并且加入toolTip提示顯得人性化。
主要功能代碼如下:
private void gvLampConfig_ShowingEditor(object sender, System.ComponentModel.CancelEventArgs e) { GridView _view = sender as GridView; if (_view.FocusedColumn.Name == "colSavePowerGp1")//當列等于colSavePowerGp1 { string _type = _view.GetRowCellDisplayText(gvLampConfig.FocusedRowHandle, "OptStatusText_gp1"); if (!_type.Equals("節(jié)能"))//當列OptStatusText_gp1的列值不等于OptStatusText_gp1 { e.Cancel = true; ShowToolTip(toolTipController, "提示", "當是【調光狀態(tài)】是節(jié)能模式情況,可以設置該值!"); } } } public static void ShowToolTip(ToolTipController toolTip, string title, string content) { Point _mousePoint = Control.MousePosition; toolTip.ShowHint(content, title, _mousePoint); }
代碼運行效果如下:
為了調高代碼復用性,方便后續(xù)使用,可以這樣子封裝一下:
/// <summary> /// 設置RepositoryItem是否可編輯 /// 說明: /// 在ShowingEditor事件中使用 /// </summary> /// <param name="view">GridView</param> /// <param name="focusedColumnName">需要設置的列名稱</param> /// <param name="conditonHanlder">判斷委托</param> /// <param name="toolTip">ToolTipController</param> /// <param name="title">當條件委托成立的時候提示標題</param> /// <param name="content">當條件委托成立的時候提示內容</param> /// <param name="e">CancelEventArgs</param> private void CustomShowingEditorWithToolTip(GridView view, string focusedColumnName, Func<object, bool> conditonHanlder, ToolTipController toolTip, string title, string content, CancelEventArgs e) { if (view.FocusedColumn.Name.Equals(focusedColumnName)) { if (conditonHanlder(view.GetFocusedRow())) { e.Cancel = true; Point _mousePoint = Control.MousePosition; toolTip.ShowHint(content, title, _mousePoint); } } }
代碼使用如下:
private void gvLampConfig_ShowingEditor(object sender, System.ComponentModel.CancelEventArgs e) { GridView _view = sender as GridView; CustomShowingEditorWithToolTip(_view, "colSavePowerGp1", arg => ((LampSelfRunCfgParamter)arg).OptStatusText_gp1 != "節(jié)能", toolTipController, "提示", "當是【調光狀態(tài)】是節(jié)能模式情況,可以設置該值!", e); }
希望本文所示代碼能對大家有所幫助!
- SpringData Repository Bean方法定義規(guī)范代碼實例
- Spring Data Jpa實現(xiàn)自定義repository轉DTO
- Springboot以Repository方式整合Redis的方法
- Spring Boot報錯:No session repository could be auto-configured, check your configuration的解決方法
- Spring Boot下如何自定義Repository中的DAO方法
- RedisRepository 分享和糾錯
- DevExpress實現(xiàn)根據(jù)行,列索引來獲取RepositoryItem的方法
- SpringData Repository接口用法解析
相關文章
程序中兩個Double類型相加出現(xiàn)誤差的解決辦法
本篇文章介紹了,程序中兩個Double類型相加出現(xiàn)誤差的解決辦法。需要的朋友參考下2013-04-04c#讀取圖像保存到數(shù)據(jù)庫中(數(shù)據(jù)庫保存圖片)
這篇文章主要介紹了使用c#讀取圖像保存到數(shù)據(jù)庫中的方法,大家參考使用吧2014-01-01C#操作SQLite數(shù)據(jù)庫方法小結(創(chuàng)建,連接,插入,查詢,刪除等)
這篇文章主要介紹了C#操作SQLite數(shù)據(jù)庫方法,包括針對SQLite數(shù)據(jù)庫的創(chuàng)建,連接,插入,查詢,刪除等操作,并提供了一個SQLite的封裝類,需要的朋友可以參考下2016-07-07C#在Entity Framework中實現(xiàn)事務回滾
這篇文章介紹了C#在Entity Framework中實現(xiàn)事務回滾的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08