DevExpress控件-GridControl根據條件改變單元格(Dev GridControl 單元格着色)


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"的值改變行的顏色。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM