js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色


Posted in Javascript onMay 27, 2010

后台代码

/// <summary> 
/// 数据行绑定事件 
/// </summary> 
/// <param name="sender"></param> 
/// <param name="e"></param> 
protected void gvProduct_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
try 
{ 
if (e.Row.RowType == DataControlRowType.DataRow ) 
{ 
GridViewRow row = e.Row; 
CheckBox ckb = row.Cells[0].FindControl("ckb") as CheckBox; 
Label ProductID = row.Cells[0].FindControl("lblProductID") as Label; 
//当鼠标停留时更改背景色 
row.Attributes.Add("onmouseover", "this.style.backgroundColor='#00A9FF'"); 
//当鼠标移开时还原背景色 
row.Attributes.Add("onmouseout", "gvProducts_onmouseout('" + gvProducts.ClientID + "','" + ckb.ClientID + "',this) "); 
//当鼠标移开时还原背景色 
row.Attributes.Add("onclick", "SelectRadio('" + gvProducts.ClientID + "','" + ckb.ClientID + "','" + ProductID.Text + "',this) "); 
ckb.Attributes.Add("onclick", "SelectRadio('" + gvProducts.ClientID + "','" + ckb.ClientID + "','" + ProductID.Text + "',document.getElementById('" + row.ClientID + "')) "); 
} 
catch (Exception ex) 
{ 
} 
}

前台代码
/****************************************************/ 
//功能:鼠标移出时设置行颜色 
//说明:onmouseout事件时使用 
//作者:XXXXX 
//日期:2010年5月26日 
/****************************************************/ 
function gvUsers_onmouseout(listId, SelectRadioID, row) { 
var SelectRadio = document.getElementById(SelectRadioID); 
//找到控制范围 
var GridViewtableSearchList = document.getElementById(listId); 
//找到控制范围下所有input 
var objs = GridViewtableSearchList.getElementsByTagName("input"); 
//找到控制范围下所有checkbox并都变为false 
for (var i = 0; i < objs.length; i++) { 
if (objs[i].type.toLowerCase() == "checkbox" && objs[i] == SelectRadio) { 
if (SelectRadio.checked) { 
//设置选中行的颜色 
row.style.backgroundColor = '#33A922' 
} 
else { 
//设置交替行的颜色 
if (i % 2 == 0) { 
row.style.backgroundColor = '#FFFFFF' 
} 
else { 
row.style.backgroundColor = '#F4FAFD' 
} 
} 
} 
} 
} 
/****************************************************/ 
//功能:鼠标单击时使用 
//说明:onmouseout事件时使用 
//作者:XXXXXX 
//日期:2010年5月26日 
/****************************************************/ 
function SelectRadio(listId, SelectRadioID, rv, row) { 
var SelectRadio = document.getElementById(SelectRadioID); 
//找到控制范围 
var GridViewtableSearchList = document.getElementById(listId); 
//找到控制范围下所有input 
var objs = GridViewtableSearchList.getElementsByTagName("input"); 
//找到控制范围下所有checkbox并都变为false 
for (var i = 0; i < objs.length; i++) { 
//设置除当前选择行外其它行的背景色 
if (objs[i].type.toLowerCase() == "checkbox" && objs[i] != SelectRadio) { 
objs[i].checked = false; 
//设置交替行的背景色 
if (i % 2 == 0) { 
objs[i].parentElement.parentElement.style.backgroundColor = '#FFFFFF' 
} 
else { 
objs[i].parentElement.parentElement.style.backgroundColor = '#F4FAFD' 
} 
} 
} 
var SelectRadioSelectRadioID = SelectRadio.id; 
SelectRadio.checked = !SelectRadio.checked 
//设置当前选择行的背景色和返回选择行的主键 
if (SelectRadio.checked) { 
row.style.backgroundColor = '#33A922' 
window.returnValue = rv; 
} 
else { 
window.returnValue = "" 
} 
}
Javascript 相关文章推荐
静态的动态续篇之来点XML
Aug 15 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
Oct 21 Javascript
微信小程序实现图片自适应(支持多图)
Jan 25 Javascript
javascript滚轮事件基础实例讲解(37)
Feb 14 Javascript
微信小程序 动画的简单实例
Oct 12 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
Jan 09 Javascript
Vue中用props给data赋初始值遇到的问题解决
Nov 27 Javascript
深入理解js A*寻路算法原理与具体实现过程
Dec 13 Javascript
layui表格 列自动适应大小失效的解决方法
Sep 06 Javascript
JS实现transform实现扇子效果
Jan 17 Javascript
ES6 Object.assign()的用法及其使用
Jan 18 Javascript
Javascript实现打鼓效果
Jan 29 Javascript
Javascript 设计模式(二) 闭包
May 26 #Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
May 26 #Javascript
js escape,unescape解决中文乱码问题的方法
May 26 #Javascript
javascript 异步页面查询实现代码(asp.net)
May 26 #Javascript
js 点击按钮弹出另一页,选择值后,返回到当前页
May 26 #Javascript
jquery的$(document).ready()和onload的加载顺序
May 26 #Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
May 26 #Javascript
You might like
php发送邮件的问题详解
2015/06/22 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
javascript实现列表滚动的方法
2015/07/30 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
js改变html的原有内容实现方法
2016/10/05 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
详解React开发必不可少的eslint配置
2018/02/05 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
python实现2014火车票查询代码分享
2014/01/10 Python
python测试驱动开发实例
2014/10/08 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
pytorch 实现cross entropy损失函数计算方式
2020/01/02 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
Python如何测试stdout输出
2020/08/10 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
python基于opencv实现人脸识别
2021/01/04 Python
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
护士自我鉴定
2013/10/23 职场文书
实习工作表现评语
2014/12/31 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS