DevExpress控件-GridControl根據條件改變單元格顏色,如下圖:

解決辦法:可以參考:http://www.cnblogs.com/zeroone/p/4311191.html
第一步:

第二步:

第三步:

第四步:

第五步:調用改變顏色的方法

第六步:改變顏色的方法:
/// <summary> /// 設置瀏覽醫囑顏色 /// </summary> /// <param name="ds"></param> private void SetViewColor(ref DataSet ds, int setType) { if (!ds.Tables[0].Columns.Contains("COLORCONDITION")) { ds.Tables[0].Columns.Add("COLORCONDITION", typeof(System.Int32)); DateTime today = new CommonFacade().GetServerDateTime(); foreach (DataRow dr in ds.Tables[0].Rows) { dr.BeginEdit(); if (setType == 1) { if (dr["STOPDATE"].ToString() != "") { dr["COLORCONDITION"] = 2; } //end else if (ds.Tables[0].Columns.IndexOf("STOPDOCDATE") >= 0 && dr["STOPDOCDATE"].ToString() != "" && dr["STOPDATE"].ToString() == "") { dr["COLORCONDITION"] = 5; } else if (dr["ExecTimes"].ToString() == "0") { dr["COLORCONDITION"] = 3; } else if (dr["LSTEXECDATE"].ToString() != "" && Convert.ToDateTime(dr["LSTEXECDATE"]).Date == today.Date) { dr["COLORCONDITION"] = 4; } else { dr["COLORCONDITION"] = 1; } } else { if (dr["ExecTimes"].ToString() == "0") { dr["COLORCONDITION"] = 3; } else if (dr["LSTEXECDATE"].ToString() != "" && Convert.ToDateTime(dr["LSTEXECDATE"]).Date == today.Date) { dr["COLORCONDITION"] = 4; } else { dr["COLORCONDITION"] = 1; } } dr.EndEdit(); } ds.AcceptChanges(); } }
總結:根據對應的字段"COLORCONDITION"的值改變行的顏色。
