Devexpress GridView 数据格式化显示

摘要:
所以我又封装了一个方法publicvoidSetColumnFormatCell{varstyleFormatCondition1=newStyleFormatCondition();styleFormatCondition1.Appearance.BackColor=backColor1;styleFormatCondition1.Appearance.BackColor2=backColor2;styleFormatCondition1.Appearance.Options.UseBackColor=true;styleFormatCondition1.Column=gridColumn;styleFormatCondition1.Condition=formatType;styleFormatCondition1.Expression="true";styleFormatCondition1.Value1=value1;styleFormatCondition1.Value2=value2;gridView.FormatConditions.Add;}调用:vardev=newDataGridControlHelper();dev.SetColumnFormatCell;虽然效果是出来了。但是我觉得效率很差。要是有那位网友有更好的方案。
Devexpress GridView 数据格式化显示

Devexpress GridView 数据格式化显示第1张

复制代码

 gridView1.CustomColumnDisplayText += gridView1_CustomColumnDisplayText;
 void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
        {
            if (e.Column.FieldName == "State")
            {
                switch (e.DisplayText)
                {
                    case "0":
                        e.DisplayText = "有效";
                        break;
                    case "1":
                        e.DisplayText = "无效";
       
                        break;
                }
            }
        }

复制代码

复制代码

    void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            var currentView = sender as GridView;
            if (currentView != null && e.RowHandle == currentView.FocusedRowHandle) return;
            Rectangle r = e.Bounds;
            if (e.Column.FieldName == "F_State")
            {
                if (e.CellValue.ToString().Equals("False"))
                {
                    e.Appearance.ForeColor=Color.Red;
                    e.Appearance.DrawString(e.Cache,e.DisplayText,r);
                    e.Handled = true;
                }

            }
        }

或者以下面的这种形式也可以的、

   
  还有一个就是改变行的颜色
  在对GridControl绑定好数据后:
  No.1:右键GridControl选择Run Designer;
  No.2:Appearance下Style Conditions点击Add,需要注意的是每一个变色条件都得Add一个变色方案;
  No.3:在Properties中需要用到的属性依次往下详解为:
  a)Appearance下BackColor=255.255.128,BackColor2=255.255.128,此项指定符合特定条件时单元格/行背景颜色,如果两项设置颜色不同时则为渐变效果;
 
  

  要是每次都这样设置也太不方便了。。所以我又封装了一个方法

复制代码

        public void SetColumnFormatCell(object value1, object value2,Color backColor1,Color backColor2,GridColumn gridColumn,FormatConditionEnum formatType,GridView gridView)
        {
            var styleFormatCondition1 = new StyleFormatCondition();
            styleFormatCondition1.Appearance.BackColor = backColor1;
            styleFormatCondition1.Appearance.BackColor2 =backColor2;
            styleFormatCondition1.Appearance.Options.UseBackColor = true;
            styleFormatCondition1.Column = gridColumn;
            styleFormatCondition1.Condition = formatType;
            styleFormatCondition1.Expression = "true";
            styleFormatCondition1.Value1 = value1;
            styleFormatCondition1.Value2 = value2;
            gridView.FormatConditions.Add(styleFormatCondition1);
        }

复制代码

调用:
  var dev=new DataGridControlHelper();
      dev.SetColumnFormatCell("无效","无效",Color.Red,Color.Red,gridColumn03,FormatConditionEnum.Equal,gridView1);
        

虽然效果是出来了。但是我觉得效率很差。
    要是有那位网友有更好的方案。请分享一下。谢谢

复制代码

作者:在水一方

出处:http://www.cnblogs.com/w2011

欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,谢谢

免责声明:文章转载自《Devexpress GridView 数据格式化显示》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Db4o for .NET 使用心得(1、2):Trace db4o;慎用structKVM安装搭建下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【DevExpress】2、控制GridView的分组需要用到的属性

(1)GridView整体设置 ① OptionsBehavior中:AllowFixedGroups = True, AutoExpandAllGroups = True 很好理解,自动展开所有分组 ② OptionsCustomization中 :AllowGroup = True 默认为True,当然你也可以设置为False ③ OptionsVie...

Winform传统DataGridView和DevExpress控件的GridControl两者表头全选功能的实现

在开发一个个人项目的时候,有客户反映默认GridView多选操作不是很方便和理想,想在列表的左边增加一列可以勾选,并且最好支持列表头部全选的操作,否则数据多的时候一个个勾选要到天荒地老。 基于以上需求,找了不少例子进行比较,并对代码进行测试改进,终于完成了以上的功能了, 并且由于我本身做了多套界面的处理,因此,基于传统的DataGridView全选操作不能...

Android仿微信朋友圈图片查看器

转载请注明出处:http://blog.csdn.net/allen315410/article/details/40264551 看博文之前,希望大家先打开自己的微信点到朋友圈中去,细致观察是不是发现朋友圈里的有个“九宫格”的图片区域,点击图片又会跳到图片的具体查看页面,而且支持图片的滑动和缩放?这个功能是不是非经常常使用呢?!那么我今天正好做了这个D...

DevExpress 之 GridControl 自定义列

Ø  前言 DevExpress 控件大家应该都有所了解,使用这个框架实现B/S或C/S的,都是非常出色的。本文主要讨论下 GridControl 中如何【自定义列】或【计算列】,可使用以下两种方法实现:   1.   方法一 使用 DevExpress.XtraGrid.Columns.GridColumn 的 UnboundExpression 与 U...

【实时】DevExpress内存监视

前言   在做项目的时候,我们有时候需要检测项目的内存占用情况,有时候是检测内存泄露~,有时候是查看某段代码执行前后的内存对比,以方便找出问题并以解决。 内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。-百度百科   前...

DevExpress 常用控件使用整理

一、LookUpEdit 单选下拉框 /// <summary> /// 定义一个数据源 /// </summary> public static List<dynamic> IsYes { get { return new List<dynamic>() {...