http://blog.csdn.net/bgu/

JS文件源码:GridColorControl.js
=====================================

/*-----------------调用说明-----------------
说明:可用于架设页面事件。
入口函数:OnFocusSet(....)
如:OnFocusSet( "#000000","#FFFFFF","#FFFFFF","#000000" )

实用调用例子:
鼠标事件:
onMouseOver='OnFocusSet( "#000000","#FFFFFF","#FFFFFF","#000000" )'
单击事件:
onClick='OnFocusSet( "#000000","#FFFFFF","#FFFFFF","#000000" )'

参数说明:
参数一[color]:未选中时的字体颜色
参数二[backColor]:未选中时的背景颜色
参数三[selectColor]:选中时的字体颜色
参数四[selectBackColor]:选中时的背景颜色
------------------------------------------*/
var Rows=new Array();
var ShiftStartRow="";
var setColor,setBackColor,setSelectColor,setSelectBackColor;

/*---------主函数入口----------*/
function OnFocusSet( color,backColor,selectColor,selectBackColor )
{
 setColor = color;
 setBackColor = backColor;
 setSelectColor = selectColor;
 setSelectBackColor = selectBackColor;
 Set();
}

//-----------操作----------------
function Set()
{
 iRow=window.event.srcElement;
 do
 {
  iRow=iRow.parentElement;
 }
 while(iRow.tagName!='TR')
 if(event.ctrlKey)
 {
  var j=-1;
  for(i=0;i<Rows.length;i++)
  {
   if(iRow==Rows[i])
   {
    j=i;break;
   }
  }
  if(j!=-1)
  {
   for(i=j;i<Rows.length-1;i++)
   {
    Rows[i]=Rows[i+1];
   }
   Rows.length=Rows.length-1;
  }
  else
  {
   Rows[Rows.length]=iRow;
  }
   ShiftStartRow=iRow;
  }
  else if(event.shiftKey)
  {
   if(ShiftStartRow!="")
   {
    var StartIndex=ShiftStartRow.rowIndex;
    var EndIndex=iRow.rowIndex;
    var oTable=iRow.parentElement;Rows.length=0;
    if(StartIndex < EndIndex)
    {
     for(var i=StartIndex;i<EndIndex+1;i++)
     {
      Rows.push(oTable.rows[i]);
     }
    }
    if(StartIndex >= EndIndex)
    {
     for(var i=EndIndex;i<StartIndex+1;i++)
     {
      Rows.push(oTable.rows[i]);
     }
    }
   }
  }
  else
  {
   Rows.length=1;
   Rows[0]=iRow;
   ShiftStartRow=iRow;
  }
  changeColor(iRow);
}

//------------颜色改变------------
function changeColor(obj)
{
 for(var i=1;i<obj.parentElement.rows.length;i++)
 {
  obj.parentElement.rows(i).style.backgroundColor=setBackColor;
  obj.parentElement.rows(i).style.color=setColor;
 }
 var keyValue="";
 for(i=0;i<Rows.length;i++)
 {
  Rows[i].style.backgroundColor=setSelectBackColor;
  keyValue += Rows[i].id+",";
  Rows[i].style.color=setSelectColor;
 }
}

===========================================

后台DataGrid梆定方法:

===========================================

private void dgList_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
   if( e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem || e.Item.ItemType==ListItemType.SelectedItem)
   {
    e.Item.Attributes.Add("onClick","OnFocusSet( '#000000','#FFFFFF','#FFFFFF','#000000' );");
   }
  }

===========================================

前台.aspx文件调用JS即可:<script language="javascript" src="GridColorControl.js" type="text/javascript"> </script>

<script language="javascript" src="GridColorControl.js" type="text/javascript"> </script><script language="javascript" src="GridColorControl.js"></script><script language="javascript" src="GridColorControl.js" type="text/javascript"> </script><script language="javascript" src="GridColorControl.js" type="text/javascript"> </script><script language="javascript" src="GridColorControl.js" type="text/javascript"> </script>

DataGrid鼠标事件方法相关推荐

  1. Actions(鼠标事件)方法列表

    Actions类是seleniumd对鼠标及键盘操作的封装,即为鼠标事件和键盘事件. 常见操作包括: 1.click-----单击鼠标左键 2.context_click-----点击鼠标右键 3.c ...

  2. ArcEngine的鼠标事件中按键判断~

    我们都知道,在.Net的鼠标事件中判断鼠标事件方法如下(以button为例): Private Sub Button1_MouseDown(ByVal sender As System.Object, ...

  3. WPF 触屏事件后触发鼠标事件的问题及 DataGrid 误触问题

    WPF 触屏事件后触发鼠标事件的问题及 DataGrid 误触问题 目录 一.触屏事件连带触发鼠标事件的问题 二.DataGrid 误触问题及解决方法 独立观察员 2021 年 10 月 10 日 一 ...

  4. vue el-form鼠标事件导致页面刷新解决方案;vue 阻止多次点击提交数据通用方法...

    一.阻止表单自动提交刷新页面:<el-form><el-form-item :inline="true" @submit.native.prevent>&l ...

  5. 常用事件方法及技巧(二) -- MouseEvent(鼠标事件)

    先说明一下,我并不会把所有的内容都写出来,只列我认为有必要讲解一下的内容.如果要了解全部内容,请参看Flash自带的帮助文件.该系列文章都是按照这个思路写的. 先说一个本人觉得很实用的通用方法:toS ...

  6. Web APIs /APIs --DOM简述/DOM中获取元素方法/事件(含鼠标事件)/操作(含案例)

    Web APIs Web APIs 和 JS 的关联性: Web APIs是 W3C 组织的标准,主要学习DOM 和 BOM Web APIs是 JS 所独有的部分 主要学习页面交互功能 Web AP ...

  7. 模拟键盘鼠标事件有两种方法

    实现一个鼠标或者键盘模拟器,可以完成很多功能,比如做一个简单的游戏外挂^_^.通常,模拟键盘鼠标事件有两种方法: 1.keybd_event, mouse_event 2.SendMessage, P ...

  8. html超链接怎么换行,富文本过程中我遇到的问题以及解决方法(超链接换行以及无法接收超链接鼠标事件以及br或者nbsp;标签会崩溃报错的问题)...

    1. 或者  标签崩溃问题 解决方法 HTMLElemen类中 var words = this._getWords(); if (words == null && (!this._c ...

  9. python 捕获鼠标点击事件_Python捕捉和模拟鼠标事件的方法

    本文实例讲述了Python捕捉和模拟鼠标事件的方法.分享给大家供大家参考.具体分析如下: 这个假期玩了不少galgame,不过有些很老的游戏没有自动运行模式,点击鼠标又太伤按键了,于是想把滚动鼠标滚轮 ...

最新文章

  1. Windows PE 第十三章 PE补丁技术
  2. Spring-注入参数详解-[字面值及引用其他Bean]
  3. 用JQUERY实现给当前页面导航一个CSS
  4. java迭代器用途_各位JAVA前辈,迭代器使用报错。
  5. 前端学习(2007)vue之电商管理系统电商系统之优化复选框的样式
  6. Spring下没有配置事务导致hibernate session报错
  7. vs.php在win2008+vs2008下开发调试配置
  8. python手机自动化框架_python自动化框架(一)
  9. LInux下如何挂载光盘找rpm包?
  10. 答读者问(7):相关实习、在软件开发和测试等论文和关系问题
  11. java m查询_信息查询系统,基于SSM框架的JAVA系统
  12. NAT穿透原理(转载)
  13. Linux实战教学笔记18:linux三剑客之awk精讲
  14. 深度学习——人生为数不多的好出路
  15. 游戏开发核心技术之-存档与读档(1)
  16. 微信与多闪之争背后,好友关系链到底是如何窃取的?
  17. iOS-----GitHub上比较齐全的iOS 工具和App
  18. (附思维导图+笔记)-六面美团后,我发现大厂面试真的有“题库”!
  19. 511遇见易语言调用百度OCR文字在线本地识别及游戏画面时时识别
  20. ASP.NET网站页面加载及运行效率等多方面实战优化

热门文章

  1. 嵌入式linux应用程序升级,基于嵌入式Linux平台的应用升级机制的研究与设计
  2. python argparse模块_Python argparse模块应用实例解析
  3. 使用Python,dlib中新型、更快、更小的5点面部标志检测器检测人脸、眼睛、鼻子
  4. PCL:超详细的基于法向量和曲率的区域生长算法原理以及源码解读
  5. 【camera-radar】基于ROS的多传感器融合感知系统实现(雷达+相机)(1)
  6. ROS Melodic 的依赖关系记录
  7. 360浏览器如何设置为像chrome谷歌浏览器那样输入网址回车在当前页面,而不是新建一个标签打开
  8. 在ubuntu 14.04 64bit上安装酷我音乐盒Linux客户端kwplayer
  9. UE:增强现实AR可视化基本概念
  10. leetcode-135 分发糖果