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[].Columns.Contains("COLORCONDITION"))
{
ds.Tables[].Columns.Add("COLORCONDITION", typeof(System.Int32));
DateTime today = new CommonFacade().GetServerDateTime();
foreach (DataRow dr in ds.Tables[].Rows)
{
dr.BeginEdit();
if (setType == )
{
if (dr["STOPDATE"].ToString() != "")
{
dr["COLORCONDITION"] = ;
}
//end
else if (ds.Tables[].Columns.IndexOf("STOPDOCDATE") >= && dr["STOPDOCDATE"].ToString() != "" && dr["STOPDATE"].ToString() == "")
{
dr["COLORCONDITION"] = ;
}
else if (dr["ExecTimes"].ToString() == "")
{
dr["COLORCONDITION"] = ;
}
else if (dr["LSTEXECDATE"].ToString() != "" && Convert.ToDateTime(dr["LSTEXECDATE"]).Date == today.Date)
{
dr["COLORCONDITION"] = ;
}
else
{
dr["COLORCONDITION"] = ;
}
}
else
{
if (dr["ExecTimes"].ToString() == "")
{
dr["COLORCONDITION"] = ;
}
else if (dr["LSTEXECDATE"].ToString() != "" && Convert.ToDateTime(dr["LSTEXECDATE"]).Date == today.Date)
{
dr["COLORCONDITION"] = ;
}
else
{
dr["COLORCONDITION"] = ;
}
}
dr.EndEdit();
}
ds.AcceptChanges();
}
}
总结:根据对应的字段"COLORCONDITION"的值改变行的颜色。