在不使用rowdatabound事件的情况下,根据某些条件更改Gridview行颜色

时间:2015-12-10 06:50:58

标签: c# asp.net linq gridview

我在gridview中显示员工详细信息,如姓名,电子邮件,联系人和bday我想根据某些条件更改行的颜色(如果isActive为0,则显示为红色,Isactive不是gridview列的一部分),最重要的是我不想使用RowDataBound事件(我想在.aspx页面中这样做)。我正在使用Linq到EF。

2 个答案:

答案 0 :(得分:1)

您可以将jquery用于此

$("#GridViewId tr").each(function()
{ 
if($(this).find("td:eq(3)").text()=="0") 
 $(this).css('color','red'); 
});

此处它会在0的第4列中查找值gridview。您可以将其更改为此列所在的位置。Index从0开始。

答案 1 :(得分:-1)

RowDataBound

中试用此代码
protected void Grd_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {

            string isActive = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "isActive"));

            if (isActive == "0")
            {
                e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#28b779");//81F79F
                e.Row.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FFFFFF");
            }
            else
            {
                e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#da5554");//F78181
                e.Row.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FFFFFF");
            }
        }
    }