用一些空单元格在gridview上比较日期和今天
本文关键字:比较 日期 今天 gridview 单元格 | 更新日期: 2023-09-27 18:13:41
我想更改过期字段的颜色。我想将该列的值与今天的日期进行比较,如果过期,则将其标记为红色。不是每一行都有值。所有这些数据都绑定到gridview中显示的SQL数据源。当我试图通过在DataRowBound上做代码时,它告诉我"字符串未被识别为有效的日期时间"这里有任何帮助吗?我希望它能影响Expiration字段和Action
谢谢!
protected void GridView1_DataBound(object sender, EventArgs e)
{
if (GridView1.Rows[0].Cells[0].Text.Equals("Vendor"))
GridView1.Rows[0].Visible = false;
colorRed();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DateTime myDate = Convert.ToDateTime(e.Row.Cells[10].Text);
if (DateTime.Now < myDate)//10 is for the expired field
{
e.Row.ForeColor = System.Drawing.Color.Red;
}
}
}
我在html中绑定了代码,所以我能做些什么来解决这个问题?
您确定单元格[10]包含日期时间吗?
单元格从0
开始索引运行debug,获取Cells[10]的值。文本并检查是否正确
哇,这是一个简单的修复。我没有检查正确的值。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (!(e.Row.Cells[10].Text.Equals(" ")))//Needed to check for this
{
DateTime myDate = Convert.ToDateTime(e.Row.Cells[10].Text);
if (DateTime.Now < myDate)
{
e.Row.ForeColor = System.Drawing.Color.Red;
}
}
}
}