C# - Winform - DevExpress - GridControl 任意条件控制Row背景色。

代码:

private void gvSendConfirm_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            string sCurrTime=DbHelperSql.GetSingle("Select GetDate() DateNow").ToString();
            DateTime dtCurrTime,dtSendTime;
            int iMinutes = 0;
            try
            {
                dtCurrTime=DateTime.Parse(sCurrTime);
            }
            catch (System.Exception ex)
            {
            dtCurrTime=DateTime.Now;
            }

string sSendTime= gvSendConfirm.GetDataRow(e.RowHandle)["UpdateTime"].ToString();
            try
            {
                dtSendTime = DateTime.Parse(sSendTime);
            }
            catch (System.Exception ex)
            {
                dtSendTime = DateTime.Now;
            }

//计算时间差。
            System.TimeSpan difTime = dtCurrTime.Subtract(dtSendTime);
            iMinutes = difTime.Minutes;

if (iMinutes <= iTimeOutLevel1)
            {
                e.Appearance.BackColor = Color.White;   //设置背景色
            }
            else if (iMinutes > iTimeOutLevel1 && iMinutes <= iTimeOutLevel2)
            {
                e.Appearance.BackColor = Color.FromArgb(192, 192, 255);//设置背景色
            }
            else if (iMinutes > iTimeOutLevel2 && iMinutes <= iTimeOutLevel3)
            {
                e.Appearance.BackColor = Color.FromArgb(128, 255, 128);//设置背景色
            }
            else if (iMinutes > iTimeOutLevel3 && iMinutes <= iTimeOutLevel4)
            {
                e.Appearance.BackColor = Color.FromArgb(255, 192, 128);//设置背景色
            }
            else if (iMinutes > iTimeOutLevel4 && iMinutes <= iTimeOutLevel5)
            {
                e.Appearance.BackColor = Color.FromArgb(255, 128, 128);//设置背景色
            }
            else if (iMinutes > iTimeOutLevel5 && iMinutes <= iTimeOutLevel6)
            {
                e.Appearance.BackColor = Color.Red;//设置背景色
            }
            else if (iMinutes > iTimeOutLevel6)
            {
                e.Appearance.BackColor = Color.Crimson;//设置背景色
            }
            e.Appearance.ForeColor = Color.Black; //设置字体颜色
        }

原文地址:https://www.cnblogs.com/kliine/p/9246736.html

时间: 2024-10-26 09:50:33

C# - Winform - DevExpress - GridControl 任意条件控制Row背景色。的相关文章

[WinForm][DevExpress][GridControl]CustomColumnDisplayText Helper

在实际开发中,有时候需要对GridControl中列值进行转义,譬如1转义成完成等等,一般在诸如CustomColumnDisplayText事件中能够轻松完成,为了提高代码复用性,所以对CustomColumnDisplayText进行包装 关键代码: /// <summary> /// CustomColumnDisplayText Helper /// </summary> /// <param name="girdview">GridView

[WinForm][DevExpress]自定义GridControl中按钮文字内容

最近项目开发中,使用到了GridControl的FindPanel,这样可以很好的对数据进行筛选,可是所展现的按钮文字是英文,如图: 那怎么定义两个按钮问题,以符合项目需求了?经过一番搜索发现利用GridLocalizer可以很好实现: 核心代码: public class BuilderGridLocalizer : GridLocalizer { Dictionary<GridStringId, string> CusLocalizedKeyValue = null; /// <su

[WinForm][DevExpress][TreeList]条件隐藏节点CheckBox

关键代码: /// <summary> /// 隐藏CheckBox /// 说明 /// 在CustomDrawNodeCheckBox事件中使用 /// eg: /// TreeList _curTree = (TreeList)sender; /// _curTree.HideCheckBox(n => n.GetNodeType() == NodeType.Area || n.GetNodeType() == NodeType.CabsGroupRoot, e); /// <

[WinForm][DevExpress][TreeList]向上递归,获取符合条件的父节点

关键代码: /// <summary> /// 向上递归,获取符合条件的父节点 /// </summary> /// <param name="node">需要向上递归的节点</param> /// <param name="conditionHanlder">判断条件[委托]</param> /// <returns>符合条件的节点[TreeListNode]</return

DevExpress GridControl 使用方法技巧 总结 收录整理

一.如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 二.如何新增一条记录 (1).gridView.AddNewRow() (2).实现gridView_InitNewRow事件 三.如何解决GridControl记录能获取而没有显示出来的问题 gridView.populateColumns(); 四.如何让行只能选择而不能编辑(或编辑某一单元格) (1).View->OptionsBehavior->

DevExpress GridControl使用方法

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 8

DevExpress GridControl 按扭列的操作

为Winform 中的DevExpress GridControl某列添加按扭列,定义全局变量 RepositoryItemButtonEdit m_OperateFoodBtn = new RepositoryItemButtonEdit(); RepositoryItemButtonEdit m_OperateClothBtn = new RepositoryItemButtonEdit(); 设置相关属性方法 private void SetEditBtn(RepositoryItemBu

[WinForm][DevExpress][TreeList]向上递归,获取公共父节点

最近项目开发中,需要获取到公共节点,如图: 譬如,当点击"Test103-2"节点,其类型是"灯"类型,那怎么获取到"中心区域"这个类型是"地域"的公共节点了?(不知道描述清楚木有哈) 核心代码: /// <summary> /// 向上递归,获取符合条件的父节点 /// </summary> /// <param name="node">需要向上递归的节点</pa

[WinForm][DevExpress][TreeList]节点互斥

关键代码: /// <summary> /// 节点互斥同步 /// 说明 /// eg: ///TreeListNode _node = e.Node; ///_node.SyncMutexNodeCheckState(_node.CheckState, n => n.GetNodeType() == NodeType.Cab); /// </summary> /// <param name="node">需要互斥同步的节点</para