DevExpress中GridControl列轉(zhuǎn)義的實現(xiàn)方法
更新時間:2014年08月06日 16:36:54 投稿:shichen2014
這篇文章主要介紹了DevExpress中GridControl列轉(zhuǎn)義的實現(xiàn)方法,在項目開發(fā)中有一定的實用價值,需要的朋友可以參考下
在一些項目的實際開發(fā)過程中,我們有時候需要對GridControl中列值進行轉(zhuǎn)義,譬如1轉(zhuǎn)義成“完成”等等,一般在諸如CustomColumnDisplayText事件中能夠輕松完成,為了提高代碼復(fù)用性,所以需要對CustomColumnDisplayText進行包裝。具體方法如下:
主要功能代碼如下:
/// <summary> /// CustomColumnDisplayText Helper /// </summary> /// <param name="girdview">GridView</param> /// <param name="fieldNameHandler">委托</param> /// <param name="dispalyTextHandler">展現(xiàn)文字</param> /// <param name="e">CustomColumnDisplayTextEventArgs</param> public static void CusColDisplayTextHelper(this GridView girdview, Predicate<string> fieldNameHandler, Func<object, string> dispalyTextHandler, CustomColumnDisplayTextEventArgs e) { if (fieldNameHandler(e.Column.FieldName)) { e.DisplayText = dispalyTextHandler(e.Value); } } /// <summary> /// CustomColumnDisplayText Helper /// </summary> /// <param name="girdview">GridView</param> /// <param name="valueHandler">委托</param> /// <param name="dispalyTextHandler">委托</param> /// <param name="e">CustomColumnDisplayTextEventArgs</param> public static void CusColDisplayTextHelper(this GridView girdview, Func<object, Type, bool> valueHandler, Func<object, string> dispalyTextHandler, CustomColumnDisplayTextEventArgs e) { if (valueHandler(e.Value, e.Value.GetType())) { e.DisplayText = dispalyTextHandler(e.Value); } } /// <summary> ///CustomColumnDisplayText Helper /// </summary> /// <param name="girdview">GridView</param> /// <param name="valueHandler">委托</param> /// <param name="curdispalyText">展現(xiàn)文字</param> /// <param name="e">CustomColumnDisplayTextEventArgs</param> public static void CusColDisplayTextHelper(this GridView girdview, Func<object, Type, bool> valueHandler, string curdispalyText, CustomColumnDisplayTextEventArgs e) { if (valueHandler(e.Value, e.Value.GetType())) { e.DisplayText = curdispalyText; } }
代碼使用方法如下:
private void gvLampConfig_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e) { gvLampConfig.CusColDisplayTextHelper(name => name.Equals("LampViDirection"), value => value.ToInt(1) == 1 ? "正向" : "反向", e); gvLampConfig.CusColDisplayTextHelper(name => name.Equals("LampWorkStatus"), TranLampWorkType, e); gvLampConfig.CusColDisplayTextHelper(name => name.Equals("CTUChNo"), value => string.Format("第{0}回路", value), e); gvLampConfig.CusColDisplayTextHelper(name => name.Equals("LampPhase"), TranLampPhase, e); gvLampConfig.CusColDisplayTextHelper(name => name.Equals("LampDeviceType"), TranLampDeviceType, e); gvLampConfig.CusColDisplayTextHelper(name => name.Equals("LampPower"), value => string.Format("{0} W", value), e); gvLampConfig.CusColDisplayTextHelper(name => name.Equals("LampIntensity"), value => string.Format("{0} %", value), e); gvLampConfig.CusColDisplayTextHelper((value, type) => value.ToInt(-1) == -1 && type == typeof(Int32), "不修改", e); } private string TranLampDeviceType(object type) { int _type = type.ToInt(-1); if (_type == 1) return "鈉燈"; if (_type == 2) return "LED燈"; if (_type == 3) return "無極燈"; return "--"; } private string TranLampPhase(object type) { int _type = type.ToInt(-1); if (_type == 0) return "未知"; if (_type == 1) return "A相"; if (_type == 2) return "B相"; if (_type == 3) return "C相"; return "--"; } private string TranLampWorkType(object type) { int _type = type.ToInt(-1); if (_type == 0) return "關(guān)閉但不刪除"; if (_type == 1) return "啟用"; if (_type == 2) return "刪除"; return "--"; }
代碼運行效果如下所示:
相關(guān)文章
C#使用SqlDataAdapter對象獲取數(shù)據(jù)的方法
這篇文章主要介紹了C#使用SqlDataAdapter對象獲取數(shù)據(jù)的方法,結(jié)合實例形式較為詳細的分析了SqlDataAdapter對象獲取數(shù)據(jù)具體步驟與相關(guān)使用技巧,需要的朋友可以參考下2016-02-02C#使用Task實現(xiàn)執(zhí)行并行任務(wù)的原理的示例詳解
Task是一個表示異步操作的類,它提供了一種簡單、輕量級的方式來創(chuàng)建多線程應(yīng)用程序。本文就來和大家聊聊在C#中如何使用Task執(zhí)行并行任務(wù)吧2023-04-04