将以下脚本保存为 easyui-datagrid-moverow.js

  1. var DatagridMoveRow = (function($){
  2.  
  3. function DatagridMoveRow(gridTarget){
  4. this.el = gridTarget;
  5. this.$el = $(this.el);
  6. this.rowIndex = -1;
  7. this.rowsCount = this.$el.datagrid('getData').rows.length;
  8. return this;
  9. }
  10.  
  11. DatagridMoveRow.prototype = {
  12. getRowindex: function(){
  13. var selectRowIndex = this.$el.datagrid('getSelectedIndex');
  14. if(selectRowIndex == -1){
  15. this.rowIndex = 0 ;
  16. }else{
  17. this.rowIndex = selectRowIndex;
  18. }
  19. },
  20. moveUp: function(){
  21.  
  22. this.getRowindex();
  23.  
  24. if(this.rowIndex ==0){
  25. return false;
  26. }
  27.  
  28. var i = --this.rowIndex;
  29. if(i>-1){
  30. this.$el.datagrid('selectRow',i);
  31. }else{
  32. this.rowIndex = 0;
  33. }
  34.  
  35. return false;
  36. },
  37. moveDown: function (){
  38. this.getRowindex();
  39.  
  40. if(this.rowIndex == this.rowsCount -1 ){
  41. return false;
  42. }
  43. var i = ++this.rowIndex;
  44. this.$el.datagrid('selectRow',i);
  45. }
  46. }
  47.  
  48. return DatagridMoveRow;
  49.  
  50. })(jQuery);

定义调用方法:

  1. var moveRow = function(target){
  2. var options = $(target).datagrid('options');
  3.  
  4. if(options.moveRow){
  5. var dmr = new DatagridMoveRow(target);
  6. $(document).on('keydown.datagridrow',function(e){
  7. if(e.keyCode == 38){ //up
  8. dmr.moveUp();
  9. }else if(e.keyCode == 40) {// down
  10. dmr.moveDown();
  11. }
  12. });
  13. }
  14. }

  

  

在初始化datagrid 的 onLoadSuccess 事件中

  1. onLoadSuccess:function(){
  2. // 上下方向键移动
  3. moveRow(this);
  4. }

这样就OK啦!

为easyui datagrid 添加上下方向键移动的更多相关文章

  1. EasyUI DataGrid 添加 Footer

    做后台管理界面时,EasyUI 的 DataGrid 经常会被用到,有时候一些总的统计数据不合适放在数据表格里,需要单独显示,这时候就可以放在Footer中显示而不必另外布局. 该怎么给 DataGr ...

  2. EasyUI datagrid添加右键菜单项

    js代码 //动态加载数据表格 function InitData() { $('#grid').datagrid({ url: '/Home/Query?r=' + Math.random(), / ...

  3. EasyUI DataGrid 添加排序

    这个事例演示了如何在点击列头的时候排序DataGrid中全部的列可以通过点击列头被排序.你可以定义可以被排序的列.默认的,列不能被排序除非你设置sortable属性为TRUE,下面是例子:标记 < ...

  4. easyui datagrid 每条数据后添加操作按钮

    easyui datagrid 每条数据后添加“编辑.查看.删除”按钮 1.给datagrid添加操作字段:字段值 <table class="easyui-datagrid" ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统(82)-Easyui Datagrid批量操作(编辑,删除,添加)

    前言 有时候我们的后台系统表单比较复杂,做过进销存或者一些销售订单的都应该有过感觉 虽然Easyui Datagrid提供了行内编辑,但是不够灵活,但是我们稍微修改一下来达到批量编辑,批量删除,批量添 ...

  6. [转载]EasyUI中数据表格DataGrid添加排序功能

    我们这里演示的是EasyUI数据表格DataGrid从服务器端排序功能,因为觉的本地数据排序没有多大的作用,一般我们DataGrid不会读取全部数据,只会读取当前页的数据,所以本地数据排序也只是对当前 ...

  7. Easyui datagrid 怎么添加操作按钮,rowStyler

    说明:本篇文章主要是展示怎么设置easyUI datagrid的格式,包括行样式和列样式,以及添加操作按钮列 开发环境 vs2012  asp.net mvc4 c# 1.效果图 3.HTML代码 & ...

  8. EasyUI datagrid 日期时间格式化

    EasyUI datagrid中显示日期时间时,会显示为以下不太直观的数值: 添加以下JavaScript脚本,然后在field中添加 formatter: DateTimeFormatter 即可. ...

  9. 让easyui datagrid支持bootstrap的tooltip

    让easyui datagrid支持bootstrap的tooltip 发表于 下午 1:53 by ylpro.net & 分类 Java. Easyui在1.3.3版本之前是不支持tool ...

随机推荐

  1. HTML基础(二)——表单,图片热点,网页划区和拼接

    一.表单 <form id="" name="" method="post/get" action="负责处理的服务端&qu ...

  2. 与POS机通信时的3DES(双倍长)加密解密

    项目中有个SocketServer要和移动便携POS机通信,POS开发商就告诉我们他们用的3DES(双倍长)加密,给了个Key.数据和结果,让我们实现. c#用TripleDESCryptoServi ...

  3. Java查询大文本

    但JAVA本身缺少相应的类库,需要硬编码才能实现结构化文件计算,代码复杂且可读性差,难以实现高效的并行处理. 使用免费的集算器可以弥补这一不足.集算器封装了丰富的结构化文件读写和游标计算函数,书写简单 ...

  4. 烂泥:apache密码生成工具htpasswd的应用

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 1. htpasswd的作用与安装 2. htpasswd命令详解 3. htpasswd的实例 4. htpasswd的应用 一.htpasswd的作 ...

  5. HTTP状态码分类说明

    状态码分类 HTTP状态码被分为五大类, 目前我们使用的HTTP协议版本是1.1, 支持以下的状态码.随着协议的发展,HTTP规范中会定义更多的状态码. 小技巧:  假如你看到一个状态码518, 你并 ...

  6. 双核CPU,跑程序会报rcu_sched_state detected stalls on CPUs/tasks 错误

    有一份SDK,之前跑在PPC405EX上没问题。最近换平台,CPU使用了PowerPC的P1020,双核。linux版本也升级到了3.0.48版本。升级之后出现了一个问题:SDK里面的程序跑一段时间之 ...

  7. bg激活后台运行的服务

    按redis重启来做案例 ./redis-server Ctrl+z让执行的命令在后台暂停 [1]+ Stopped ./redis-server 这个时候他是把这个服务放到后台了,可是ctrl+z是 ...

  8. 网页中显示pdf

    1.<embed width="800" height="600" src="test_pdf.pdf"> </embed ...

  9. [转]oracle中使用set transaction设置事务属性

    本文转自:http://yedward.net/?id=24 set transaction语句允许开始一个只读或者只写的事务,建立隔离级别或者是为当前的事务分配一个特定的回滚段.需要注意的是,set ...

  10. 谈谈Lucene和Solr索引存目录

    在Lucene中,有几种索引存放模式呢?用过的人可能记得SimpleFSDirectory.MMapDirectory.NIOFSDirectory.RAMDirectory这四种.新版本的通过FSD ...