GridView行的背景色,在触发事件后丢失
我在GridView1_RowDataBound 里把每一行的背景色都设了,刷新出来后也正常。
我在GridView1里绑了个RadioButtonList,他的值是数据库查出来的。同时他有个SelectedIndexChanged方法,用来修改数据库的值。
但是一触发上面的方法。行的背景色值就都丢失了,全成了白色,行的文本颜色还是正常的
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
RadioButtonList rb = (RadioButtonList)e.Row.FindControl("rbDateType");
switch (rb.SelectedValue)
{
case "0":
e.Row.ForeColor = System.Drawing.Color.Black;
e.Row.BackColor = System.Drawing.Color.FromName("#E0E0E0 ");
break;
case "1":
e.Row.ForeColor = System.Drawing.Color.Blue;
e.Row.BackColor = System.Drawing.Color.FromName("#CCCCFF ");
break;
case "2":
e.Row.ForeColor = System.Drawing.Color.Red;
e.Row.BackColor = System.Drawing.Color.FromName("#CCCCFF ");
break;
default:
e.Row.ForeColor = System.Drawing.Color.Black;
e.Row.BackColor = System.Drawing.Color.FromName("#E0E0E0 ");
break;
}
}
}
换成 for (int i = 0; i < GridView1.Columns.Count; i++)
{
e.Row.Cells[i].BackColor = System.Drawing.Color.FromName("#E0E0E0 ");
}
也差不多,区别是赋的颜色丢了,变成默认色了