DevExpress控件-GridControl根据条件改变单元格(Dev GridControl 单元格着色)

时间:2023-12-23 15:50:02

DevExpress控件-GridControl根据条件改变单元格颜色,如下图:

DevExpress控件-GridControl根据条件改变单元格(Dev GridControl 单元格着色)

解决办法:可以参考:http://www.cnblogs.com/zeroone/p/4311191.html

第一步:

DevExpress控件-GridControl根据条件改变单元格(Dev GridControl 单元格着色)

第二步:

DevExpress控件-GridControl根据条件改变单元格(Dev GridControl 单元格着色)

第三步:

DevExpress控件-GridControl根据条件改变单元格(Dev GridControl 单元格着色)

第四步:

DevExpress控件-GridControl根据条件改变单元格(Dev GridControl 单元格着色)

第五步:调用改变颜色的方法

DevExpress控件-GridControl根据条件改变单元格(Dev GridControl 单元格着色)

第六步:改变颜色的方法:

  /// <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"的值改变行的颜色。