欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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# WinForm自動更新程序之文件上傳操作詳解

    C# WinForm自動更新程序之文件上傳操作詳解

    這篇文章主要為大家詳細介紹了C# WinForm自動更新程序中文件上傳操作,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解一下
    2022-10-10
  • C#常用排序方式總結(jié)

    C#常用排序方式總結(jié)

    在最近的項目中經(jīng)常會對C#中的數(shù)據(jù)進行排序,對于基本數(shù)據(jù)類型,其排序方式比較簡單,只需要調(diào)用內(nèi)置算法即可實現(xiàn),但對于自定義數(shù)據(jù)類型以及自定義排序規(guī)則的情況實現(xiàn)起來就比較麻煩,所以在本文章中將詳細介紹一下在中C#中如何對數(shù)據(jù)進行排序,需要的朋友可以參考下
    2024-01-01
  • C#使用SqlDataAdapter對象獲取數(shù)據(jù)的方法

    C#使用SqlDataAdapter對象獲取數(shù)據(jù)的方法

    這篇文章主要介紹了C#使用SqlDataAdapter對象獲取數(shù)據(jù)的方法,結(jié)合實例形式較為詳細的分析了SqlDataAdapter對象獲取數(shù)據(jù)具體步驟與相關(guān)使用技巧,需要的朋友可以參考下
    2016-02-02
  • 為什么哈希存取比較快?使用它需要付出什么代價

    為什么哈希存取比較快?使用它需要付出什么代價

    本文主要介紹為什么哈希存取比較快的原理,有需要的朋友可以參考一下。
    2016-06-06
  • c#中executereader執(zhí)行查詢示例分享

    c#中executereader執(zhí)行查詢示例分享

    這篇文章主要介紹了c#中executereader執(zhí)行查詢示例,需要的朋友可以參考下
    2014-04-04
  • C#寫日志類實例

    C#寫日志類實例

    這篇文章主要介紹了C#寫日志類,實現(xiàn)將日志信息寫入文本文件的功能,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • 人臉認證源碼faceIdentify詳解

    人臉認證源碼faceIdentify詳解

    這篇文章主要為大家詳細介紹了人臉認證源碼faceIdentify的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 基于Avalonia實現(xiàn)自定義彈窗的示例詳解

    基于Avalonia實現(xiàn)自定義彈窗的示例詳解

    對于使用avalonia的時候某些功能需要到一些提示,比如異常或者成功都需要對用戶進行提示,所以需要單獨實現(xiàn)彈窗功能,并且可以自定義內(nèi)部組件,這一期將手動實現(xiàn)一個簡單的小彈窗,并且很容易自定義,希望大家喜歡
    2023-02-02
  • 深入分析C# Task

    深入分析C# Task

    這篇文章主要介紹了C# Task的相關(guān)資料,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí)C# Task的相關(guān)知識,感興趣的朋友可以了解下
    2020-08-08
  • C#使用Task實現(xiàn)執(zhí)行并行任務(wù)的原理的示例詳解

    C#使用Task實現(xiàn)執(zhí)行并行任務(wù)的原理的示例詳解

    Task是一個表示異步操作的類,它提供了一種簡單、輕量級的方式來創(chuàng)建多線程應(yīng)用程序。本文就來和大家聊聊在C#中如何使用Task執(zhí)行并行任務(wù)吧
    2023-04-04

最新評論