我有一个GridView,如果列中的日期在特定日期范围内,我想更改行的颜色。
DateTime dt = new DateTime();
if (DateTime.TryParse(c.Text, out dt))
{
if (dt.Date >= DateTime.Now.AddDays(Mod.ValidUntilDays).Date && dt.Date <= DateTime.Now.AddDays(Mod.ValidUntilDays).Date)
{
e.Item.Style.Add("background-color", "#FF0303");
}
}
因此来自网格的值dt.Date
等于23/09/2016 00:00:00
,我要检查的日期范围是25/09/2016 00:00:00
。 Mod.ValidUntilDays
只是为今天的日期增加了5天。
所以我要做的是在5天的范围内检查是23/09/2016 00:00:00
,但是代码永远不会进入if语句。
答案 0 :(得分:6)
您要求日期为&gt; = 5天时间和&lt; = 5天时间。所以,除非它= = 5天时间,否则它将返回false。我想你的意思是:
DateTime dt = new DateTime();
if (DateTime.TryParse(c.Text, out dt))
{
DateTime now = DateTime.Now;
if (dt.Date >= now.Date && dt.Date <= now.AddDays(Mod.ValidUntilDays).Date)
{
e.Item.Style.Add("background-color", "#FF0303");
}
}