给Gridview换背景代码如下
protected void Users_View_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < Users_View.Rows.Count; i++)
{
//首先判断是否是数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}
}
出现的现象是数据行第一行的背景不发生改变。
当把i的初始值赋为i=-1;效课就出来了,这是为什么啊,请大侠帮忙解决下,不胜感激!
问题不在i变量上,而在于那个循环,这里其实并不需要这个循环,因为RowDataBound事件是在行绑定时发生的,只需要使用e.Row取出当前行进行操作就可以了
把那个for循环去掉试试
你的第一行是数据行不是?可以使用下面的方法:直接放到Users_View_RowDataBound下
//如果是绑定数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//鼠标经过时,行背景色变
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#E6F5FA'");
//鼠标移出时,行背景色变
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'");
}
参考链接:http://blog.csdn.net/fanweiwei/archive/2007/03/26/1541373.aspx
是有这种现象。
@丁学!!!