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 相关文章推荐
前端开发的开始---基于面向对象的Ajax类
Sep 17 Javascript
JavaScript不使用prototype和new实现继承机制
Dec 29 Javascript
jquery通过ajax加载一段文本内容的方法
Jan 15 Javascript
jQuery结合CSS制作动态的下拉菜单
Oct 27 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
Dec 03 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
Apr 16 Javascript
利用ES6语法重构React组件详解
Mar 02 Javascript
Vue.js实现移动端短信验证码功能
Mar 29 Javascript
Javascript中的async awai的用法
May 17 Javascript
JavaScript实现重力下落与弹性效果的方法分析
Dec 20 Javascript
基于vue手写tree插件的那点事儿
Aug 20 Javascript
微信小程序实现选择地址省市区三级联动
Jun 21 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
php实现单链表的实例代码
2013/03/22 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
为javascript添加String.Format方法
2020/08/11 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
JQuery设置文本框和密码框得到焦点时的样式
2013/08/30 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
Python中decorator使用实例
2015/04/14 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
django项目搭建与Session使用详解
2018/10/10 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
python的pip有什么用
2020/06/17 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
Java语言的优势
2015/01/10 面试题
物业管理毕业生个人的求职信
2013/11/30 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
金融与证券专业求职信
2014/06/22 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
先进单位申报材料
2014/12/25 职场文书
2015年暑假生活总结
2015/07/13 职场文书
车间班组长竞聘书
2015/09/15 职场文书
《迟到》教学反思
2016/02/24 职场文书