JavaScript实现GridView行交替与行选中颜色变化,缺点是加入分页和UpdatePanel后,点击下一页后,功能就消失了
<mce:script type="text/javascript"><!-- //把事件放在onload里, //使用<%=%>方式输出GridView的ID是因为某些情况下(如使用了MasterPage)会造成HTML中ID的变化 //颜色值推荐使用Hex,如 #f00 或 #ff0000 window.onload = function(){ GridViewColor("<%=GridView1.ClientID%>", "#FFFFFF", "#FFFFFF", "#CCCCFF", "#CCCCCC"); } //参数依次为(后两个如果指定为空值,则不会发生相应的事件): //GridView ID, 正常行背景色,交替行背景色,鼠标指向行背景色,鼠标点击后背景色 function GridViewColor(GridViewId, NormalColor, AlterColor, HoverColor, SelectColor){ //获取所有要控制的行 var AllRows = document.getElementById(GridViewId).getElementsByTagName("tr"); //设置每一行的背景色和事件,循环从1开始而非0,可以避开表头那一行 for(var i=1; i<AllRows.length; i++){ //设定本行默认的背景色 AllRows[i].style.background = i%2==0?NormalColor:AlterColor; //如果指定了鼠标指向的背景色,则添加onmouseover/onmouseout事件 //处于选中状态的行发生这两个事件时不改变颜色 if(HoverColor != ""){ AllRows[i].onmouseover = function(){if(!this.selected)this.style.background = HoverColor;} if(i%2 == 0){ AllRows[i].onmouseout = function(){if(!this.selected)this.style.background = NormalColor;} } else{ AllRows[i].onmouseout = function(){if(!this.selected)this.style.background = AlterColor;} } } //如果指定了鼠标点击的背景色,则添加onclick事件 //在事件响应中修改被点击行的选中状态 if(SelectColor != ""){ AllRows[i].onclick = function(){ this.style.background = this.style.background==SelectColor?HoverColor:SelectColor; this.selected = !this.selected; } } } } // --></mce:script>
JS GridView颜色切换
本文介绍了一个JavaScript实现的GridView行交替及行选中颜色变化的方法。该方法能够在不同状态下更改GridView行的颜色,包括正常状态、鼠标悬停状态和选中状态。但当加入分页和UpdatePanel后,该功能会失效。
5155

被折叠的 条评论
为什么被折叠?



