【发布时间】:2019-03-10 06:20:25
【问题描述】:
我正在开发一个数据库应用程序。其中一些列是文本列,一列是日期。我想将列的日期与系统日期进行比较,并希望在列的日期值小于系统日期时将单元格背景颜色变为红色。下面给出了我尝试过但不起作用的代码。
private void EMIDGVAdm_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (this.EMIDGVAdm.Columns[e.ColumnIndex].DataPropertyName == "Date_1")
{
var EMIDate = Convert.ToDateTime(EMIDGVAdm.Rows[e.RowIndex].Cells["Date_1"].Value);
if (EMIDate <= DateTime.Now)
{
e.CellStyle.BackColor = Color.Red;
//e.CellStyle.ForeColor = Color.Red;
}
}
}
【问题讨论】:
-
你调试代码了吗?调试器是否进入 if 条件?
-
是的,如果进去了。
-
先生,我尝试了另外 1 个第一个是 private void EMIDGVAdm_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { for (int i = 0; i System.DateTime.Now.Date) { EMIDGVAdm.Rows[i].Cells[5].Style.BackColor = System.Drawing.红色; } }
-
好吧。你现在用的是哪一个?以及它是否在条件范围内。我觉得 e.CellStyle.BackColor 应该可以工作
-
先生,我使用的是随问题正文提供的。
标签: c# ms-access data-binding datagridview