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 相关文章推荐
获得所有表单值的JQuery实现代码[IE暂不支持]
May 24 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
Sep 12 Javascript
html dom节点操作(获取/修改/添加或删除)
Jan 23 Javascript
node.js中的socket.io入门实例
Apr 26 Javascript
理解javascript函数式编程中的闭包(closure)
Mar 08 Javascript
js纯数字逐一停止显示效果的实现代码
Mar 16 Javascript
利用jQuery解析获取JSON数据
Apr 08 jQuery
jquery+css实现简单的图片轮播效果
Aug 07 jQuery
Koa2 之文件上传下载的示例代码
Mar 29 Javascript
vue.js中实现登录控制的方法示例
Apr 23 Javascript
vue.js图片转Base64上传图片并预览的实现方法
Aug 02 Javascript
JavaScript实现九宫格拖拽效果
Jun 28 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
一个ftp类(ini.php)
2006/10/09 PHP
PHP个人网站架设连环讲(二)
2006/10/09 PHP
因str_replace导致的注入问题总结
2019/08/08 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
xmlHTTP实例
2006/10/24 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
2017/08/03 Javascript
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
sklearn+python:线性回归案例
2020/02/24 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
俄罗斯女装店:12storeez
2019/10/25 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
家属答谢词
2015/01/05 职场文书