如何根据列中的某些值突出显示ASP.net网格行?

时间:2012-01-31 12:29:29

标签: asp.net gridview

我有一个ASP.net网格我想要更改行的背景颜色,如果在GRIDview的列中有一个特殊的值,比如说5

请帮忙

2 个答案:

答案 0 :(得分:0)

首先,您需要订阅OnDataBound-Event。 然后将e.Row.DataItem转换为自定义对象(或以其他方式检索所需的值。取决于您的数据源类型)

如果您的条件匹配,则可以通过为BackColor属性

分配值来单独设置行的e.BackColor属性

我过去总结过类似的here。 (也许我将来会在这个时候合并这个回复)

答案 1 :(得分:0)

使用以下代码:

protected void DrugDetailGridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            // To check condition on string value 
           //Note: "Drug" is my data Column Name  and "Hydralazine" is value to be match
            if (Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Drug")) == "Hydralazine")
            {
                e.Row.BackColor = System.Drawing.Color.Red;
            }
            else
            {
                // Whatever you want to do.......
               // e.Row.ForeColor = System.Drawing.Color.Yellow;
            }

            // To check condition on integer value
            if (Convert.ToInt16(DataBinder.Eval(e.Row.DataItem, "Dosage")) == 50)
            {
                e.Row.BackColor = System.Drawing.Color.Cyan;
            }
        }
    }
相关问题