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

 更新时间:2010年05月27日 03:14:44   作者:  
使用js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
后台代码
复制代码 代码如下:

/// <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常见操作汇总

    javascript常见操作汇总

    这篇文章主要介绍了javascript常见操作,有针对字符串、时间、表单等的操作,以及验证、收藏、随机数等其他常见技巧,需要的朋友可以参考下
    2014-09-09
  • JavaScript 选中文字并响应获取的实现代码

    JavaScript 选中文字并响应获取的实现代码

    当鼠标选择一段文字时,对这个事件产生响应,并且将选中的文字传递出去。
    2011-08-08
  • Echart折线图手柄触发事件示例详解

    Echart折线图手柄触发事件示例详解

    这篇文章主要给大家介绍了关于Echart折线图手柄触发事件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • JS中的六种继承方式以及优缺点总结

    JS中的六种继承方式以及优缺点总结

    JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一,那么如何在JS中实现继承呢?下面这篇文章主要给大家介绍了关于JS中六种继承方式以及优缺点的相关资料,需要的朋友可以参考下
    2021-10-10
  • JavaScript门面模式详解

    JavaScript门面模式详解

    这篇文章主要为大家详细介绍了JavaScript门面模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 解决layui数据表格Date日期格式的回显Object的问题

    解决layui数据表格Date日期格式的回显Object的问题

    今天小编就为大家分享一篇解决layui数据表格Date日期格式的回显Object的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • js下载文件并修改文件名

    js下载文件并修改文件名

    这篇文章主要为大家详细介绍了js下载文件并修改文件名的代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • js实现鼠标触发图片抖动效果的方法

    js实现鼠标触发图片抖动效果的方法

    这篇文章主要介绍了js实现鼠标触发图片抖动效果的方法,通过定时器定时递归调用rattleimage函数实现抖动效果,非常实用,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Ajax+FormData+javascript实现无刷新表单信息提交

    Ajax+FormData+javascript实现无刷新表单信息提交

    在前端开发中ajax,formdata和js实现无刷新表单信息提交非常棒,接下来通过本文给大家介绍Ajax+FormData+javascript实现无刷新表单信息提交的相关资料,需要的朋友可以参考下
    2016-10-10
  • 非常优秀的JS图片轮播插件Swiper的用法

    非常优秀的JS图片轮播插件Swiper的用法

    最近在一个微信公众号中用到了swiper图片轮播插件。接下来为大家介绍插件的用法,需要的朋友可以参考下
    2017-01-01

最新评论