最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

DevExpress中GridControl列轉(zhuǎn)義的實(shí)現(xiàn)方法

 更新時(shí)間:2014年08月06日 16:36:54   投稿:shichen2014  
這篇文章主要介紹了DevExpress中GridControl列轉(zhuǎn)義的實(shí)現(xiàn)方法,在項(xiàng)目開發(fā)中有一定的實(shí)用價(jià)值,需要的朋友可以參考下

在一些項(xiàng)目的實(shí)際開發(fā)過程中,我們有時(shí)候需要對(duì)GridControl中列值進(jìn)行轉(zhuǎn)義,譬如1轉(zhuǎn)義成“完成”等等,一般在諸如CustomColumnDisplayText事件中能夠輕松完成,為了提高代碼復(fù)用性,所以需要對(duì)CustomColumnDisplayText進(jìn)行包裝。具體方法如下:

主要功能代碼如下:

/// <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 "--";
}

代碼運(yùn)行效果如下所示:

相關(guān)文章

最新評(píng)論

锦州市| 济宁市| 阿瓦提县| 南开区| 孙吴县| 安图县| 崇礼县| 琼海市| 化州市| 沅江市| 包头市| 青川县| 诸城市| 中超| 合阳县| 云林县| 台北市| 延寿县| 秭归县| 清新县| 德惠市| 金乡县| 鄂托克旗| 福清市| 屯门区| 天祝| 太和县| 石河子市| 皋兰县| 南江县| 讷河市| 丰原市| 临安市| 平安县| 西乌珠穆沁旗| 太和县| 桂东县| 三穗县| 沙湾县| 陆河县| 沙坪坝区|