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