【发布时间】:2019-10-16 21:36:08
【问题描述】:
我是 C# 编程中的“新人”,我正在尝试为几天后到期或已经到期的日期着色。这是我的代码
SqlConnection cs2 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\\Users\Nikola\documents\visual studio 2010\Projects\Gym Software\Gym Software\Data.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
sda = new SqlDataAdapter("Select DatumIstice FROM Korisnici", cs2);
foreach (DataGridViewRow row in dataGridView1.Rows)
{
var now = DateTime.Now;
var expirationDate = DateTime.Parse(row.Cells[0].Value.ToString());
var sevenDayBefore = expirationDate.AddDays(-7);
if (now > sevenDayBefore && now < expirationDate)
{
row.DefaultCellStyle.BackColor = Color.Yellow;
}
else if (now > expirationDate)
{
row.DefaultCellStyle.BackColor = Color.Red;
}
}
最后一行应该是彩色的,但不是:
【问题讨论】:
-
那张截图是在哪一天拍摄的?因为“何时”会影响代码的结果。这使得识别问题变得更加困难。我可以看到的一个可能问题是,如果 now == expirationDate,您的代码不会为一行着色。这是故意的吗?