我正在从 SQL 数据库中获取一些列,并使用它们来填充带有绑定列的 gridview。某些列包含日期项。
我正在尝试遍历列中的每个单元格,并根据今天的日期测试输入的日期。如果日期匹配,则单元格文本应显示为“完成”,如果不匹配,则应显示为“未完成”。
我遇到的问题是,在测试它们是否匹配时,我可以更改匹配的文本,但是当进入 else 语句来更改其余部分时,所有单元格都会更改。我尝试了一个明确的 if,else if 以及颠倒测试的顺序。我最初的想法是单元格正在根据需要进行更改,但是在第二次测试中,每一行都再次循环通过,但所有内容都在 foreach 循环中。
protected void equipmentGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
foreach (GridViewRow row in equipmentGV.Rows)
{
if (row.Cells[1].Text == DateTime.Today.ToString())
{
row.Cells[1].Text = "Complete";
}
else { row.Cells[1].Text = "Not Complete"; }
}
上面的结果是第二列中的所有单元格 == “未完成”,即使是那些具有今天日期的单元格,但是当删除 else 语句时,今天的条目将根据需要显示“完成”。