Как я могу проверить, имеет ли текущая дата интервал в 5 дней на дату, вставленную в столбец
Привет кодеры,
Я боролся с чем-то относительно рисования строк datagridview для лучшего использования и понимания.
Что я хочу сделать:
Просто измените цвет столбца, если
value
(это значение даты) составляет менее 5 дней, чтобы достичь сегодняшней даты (DateTime.Now()
).Что я уже пробовал:
foreach (DataGridViewRow row in dgw.Rows) { var now = DateTime.Parse(DateTime.Now.ToShortDateString()); var cellendDate = DateTime.Parse(row.Cells[5].Value.ToString()); var forTenDays = now.AddDays(+5); var cellstartDate = DateTime.Parse(row.Cells[4].Value.ToString()); if (cellstartDate > cellendDate) { row.DefaultCellStyle.BackColor = Color.Gray; } else if ((now < cellendDate) && (cellendDate < forTenDays)) { row.Cells[5].Style.BackColor = Color.Yellow; }else if (now == cellendDate) { row.Cells[5].Style.BackColor = Color.Red; }else { row.Cells[5].Style.BackColor = Color.YellowGreen; } }
[no name]
"Я боролся" - это не описание какой-либо проблемы. Если вы хотите сделать что-то с разницей в 5 дней, то почему вы добавляете 10 дней?
Scribling Doodle
5, 10, 30-это одно и то же... Я забыл отредактировать это, так как тестировал кое-что. Извините.
PIEBALDconsult
значение datetime.Разбора(Типа Datetime.Сейчас.Тошортдатестринг ()) - пожалуйста, не делайте этого! Просто используйте DateTime. Now
Если вы вычтете cellstartDate или cellendDate из DateTime.Теперь вы получаете временной интервал.
Затем вы можете просто проверить свойство TimeSpan TotalDays.