我在gridview里有一列显示为"点击查看",在数据库中有个过期时间,我想在读出数据时让过期时间和现在时间比较,根据比较结果
改变“点击查看”的颜色, <asp:TemplateField HeaderText="点击查看" ItemStyle-Width="100">
                    <ItemTemplate>
                         <% if (Converter(Eval("mf")) >= DateTime.Now)%>
                         
                         <%
                            { 
                                Eval("ycid") ;
                             }
                         %> 
                         
                         <% else %>
                         
                         <%
                                {                                    Eval("mf");
                                }
                         %>
                    </ItemTemplate>
                      </asp:TemplateField>

解决方案 »

  1.   

    可以在数据绑定时实现字体颜色改变
    为gridview增加两个属性
    OnRowDataBound="gridview1_RowDataBound" 
    DataKeyNames="mf"
    前台用超链接列
    <asp:HyperLinkField DataNavigateUrlFormatString="Detail.aspx" Text="点击查看">
    </asp:HyperLinkField>后台:protected void gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                HyperLink hlf = (HyperLink)e.Row.Cells[1].Controls[0];
                if (Convert.ToDateTime(gridview1.DataKeys[e.Row.RowIndex].Value.ToString()) > =   DateTime.Now)
                {
                    hlf.ForeColor= System.Drawing.Color.Red;// change color
                }        }
    }
      

  2.   

    wyw1997的 方法不错,问题解决了 。感谢!