首页 新闻 会员 周边

怎么解决Gridview换背景问题

0
悬赏园豆:5 [已解决问题] 解决于 2008-12-03 12:14

给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;效课就出来了,这是为什么啊,请大侠帮忙解决下,不胜感激!

wolfes的主页 wolfes | 初学一级 | 园豆:174
提问于:2008-12-02 20:21
< >
分享
最佳答案
0

问题不在i变量上,而在于那个循环,这里其实并不需要这个循环,因为RowDataBound事件是在行绑定时发生的,只需要使用e.Row取出当前行进行操作就可以了

把那个for循环去掉试试

丁学 | 专家六级 |园豆:18730 | 2008-12-02 21:53
其他回答(4)
0

你的第一行是数据行不是?可以使用下面的方法:直接放到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

Astar | 园豆:40805 (高人七级) | 2008-12-02 20:37
0

是有这种现象。

West | 园豆:1095 (小虾三级) | 2008-12-02 20:41
0

你应该用正确的方法,就是前面Astar描述的那样,我也是那样做的.

| 园豆:175 (初学一级) | 2008-12-03 09:24
0

@丁学!!!

码尔代夫iimax | 园豆:3138 (老鸟四级) | 2008-12-03 09:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册