波斯马BOSSMA Information Technology

使用javascript实现GridView无刷新选中行(变色)

发布时间:2007年9月11日 / 分类:ASP.NET / 23,073 次浏览 / 评论

以前在网上找过不少方法,但不是不好用就是要刷新页面,昨天把以前做的一个需要刷新选中行的代码修改了一下,还挺好用,拿出来大家分享一下,有需要改进之处,欢迎指正!

实现方式:通过javascript进行控制,点击行中任何一个位置,改行被选中变色。

1、首先在.aspx页面块中添加javascript


2、然后修改GridView,添加事件OnRowDataBound,如:


//省略...

3、最后在.aspx.cs页面中添加

protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e)
    {
         if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Attributes.Add("onmouseover", "if(this!=prevselitem){this.style.backgroundColor='#Efefef'}");//当鼠标停留时更改背景色
                e.Row.Attributes.Add("onmouseout", "if(this!=prevselitem){this.style.backgroundColor='#ffffff'}");//当鼠标移开时还原背景色
                e.Row.Attributes.Add("onclick", e.Row.ClientID.ToString() + ".checked=true;selectx(this)");
            }
    }

OK!

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《使用javascript实现GridView无刷新选中行(变色)

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

目前有6 条评论

  1. 游戏人生 0楼:

    当设置了gridview的GridViewAlternatingRowStyle属性后,应该怎么改?我是新手,javascript不太会用

    • 因为使用javascript,给每一行添加上这两个事件就可以了,当然如果你使用AlternatingRow,
      就需要两个颜色了,具体的你可以给我发邮件bossma@yeah.net

  2. bossma 0楼:

    再返回页面的话,选中会丢失
    这个不知道可不可以通过修改javascript完善这个功能
    我现在暂时用不到

  3. 逆天 0楼:

    一旦提交以后再回页面时貌似会出问题

  4. bossma 0楼:

    给每一行添加一个属性 onclick
    生成html时,〈tr〉中会添加 onclick
    这样点击这一行任意位置,就会执行javascript,来改变这一行的颜色

  5. zhong 0楼:

    e.Row.Attributes.Add(“onclick”, e.Row.ClientID.ToString() + “.checked=true;selectx(this)”);
    ===================是什么意思????????

发表评论