最近碰到一个问题,用户希望根据gridview中某一行的值来动态显示颜色,例如,如果是“可入账合同”则改行的文字为红色,便于查找。我用的.net2005,framework2.0。
根据网上的代码,我写了如下的代码:
public void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string stat_name = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "stat_name")).Trim();
if (stat_name == "已入账合同")
e.Row.ForeColor = Color.Red;
}
}
但是发现字体的颜色并没有变化,后来发现这个gridview有css,里面有td的样式,查找发现,css里面已经fontcolor的设置。所以代码才没有发挥作用,后来将css中关于fontcolor的值去掉,问题得以解决。
这虽然是个小问题,不过我感觉还是很有成就感的!