DevExpress完成自界說GridControl中按鈕文字內容的辦法。本站提示廣大學習愛好者:(DevExpress完成自界說GridControl中按鈕文字內容的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是DevExpress完成自界說GridControl中按鈕文字內容的辦法正文
在一些C#項目標開辟中,有時刻會應用到GridControl的FindPanel,如許可以很好的對數據停止挑選,可是所展示的按鈕文字是英文,以下圖所示:
那怎樣界說兩個按鈕成績,以相符項目需求了?本文講述應用GridLocalizer來完成這一請求的辦法。詳細步調以下:
重要功效代碼以下:
public class BuilderGridLocalizer : GridLocalizer { Dictionary<GridStringId, string> CusLocalizedKeyValue = null; /// <summary> /// 帶參數的結構函數 /// </summary> /// <param name="cusLocalizedKeyValue">須要轉移的GridStringId,其對應的文字描寫</param> public BuilderGridLocalizer(Dictionary<GridStringId, string> cusLocalizedKeyValue) { CusLocalizedKeyValue = cusLocalizedKeyValue; } /// <summary> /// 重載 /// </summary> /// <param name="id">GridStringId</param> /// <returns>string</returns> public override string GetLocalizedString(GridStringId id) { if (CusLocalizedKeyValue != null) { string _gridStringDisplay = string.Empty; foreach (KeyValuePair<GridStringId, string> gridLocalizer in CusLocalizedKeyValue) { if (gridLocalizer.Key.Equals(id)) { _gridStringDisplay = gridLocalizer.Value; break; } } return _gridStringDisplay; } return base.GetLocalizedString(id); } }
界說一個類繼續GridLocalizer,重寫GetLocalizedString辦法,邏輯很簡略;為了今後能更簡略反復應用代碼,削減反復編碼,所以在別的一個類中添加一個辦法,以下:
/// <summary> /// 自界說GridControl按鈕文字 /// </summary> /// <param name="girdview">GridView</param> /// <param name="cusLocalizedKeyValue">須要轉移的GridStringId,其對應的文字描寫</param> public static void CustomButtonText(this GridView girdview, Dictionary<GridStringId, string> cusLocalizedKeyValue) { BuilderGridLocalizer _bGridLocalizer = new BuilderGridLocalizer(cusLocalizedKeyValue); GridLocalizer.Active = _bGridLocalizer; } 如許子我們可以很簡略應用,代碼以下: private Dictionary<GridStringId, string> SetGridLocalizer() { Dictionary<GridStringId, string> _gridLocalizer = new Dictionary<GridStringId, string>(); _gridLocalizer.Add(GridStringId.FindControlFindButton, "查找"); _gridLocalizer.Add(GridStringId.FindControlClearButton, "清空"); return _gridLocalizer; } private void Form1_Load(object sender, EventArgs e) { Dictionary<GridStringId, string> _gridLocalizer = SetGridLocalizer(); gridView1.CustomButtonText(_gridLocalizer); gridControl1.DataSource = CreateTable(20); gridView1.ShowFindPanel(); }
代碼運轉後果以下圖所示: