DevExpress根據條件設置GridControl RepositoryItem是否可編輯
更新時間:2014年08月06日 14:47:32 投稿:shichen2014
這篇文章主要介紹了DevExpress根據條件設置GridControl RepositoryItem是否可編輯,需要的朋友可以參考下
本文實例展示了DevExpress根據條件設置GridControl RepositoryItem是否可編輯的方法。
一般在C#項目的開發(fā)中,并不是每個RepositoryItem都可以編輯,往往是有條件性的,需要譬如當A列等于“AA”的時候,B列才可編輯,實現起來在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實現自定義repository轉DTO
- Springboot以Repository方式整合Redis的方法
- Spring Boot報錯:No session repository could be auto-configured, check your configuration的解決方法
- Spring Boot下如何自定義Repository中的DAO方法
- RedisRepository 分享和糾錯
- DevExpress實現根據行,列索引來獲取RepositoryItem的方法
- SpringData Repository接口用法解析
相關文章
C#操作SQLite數據庫方法小結(創(chuàng)建,連接,插入,查詢,刪除等)
這篇文章主要介紹了C#操作SQLite數據庫方法,包括針對SQLite數據庫的創(chuàng)建,連接,插入,查詢,刪除等操作,并提供了一個SQLite的封裝類,需要的朋友可以參考下2016-07-07