datagrid 列顺序调整

  1. $.extend($.fn.datagrid.methods,{  
  2.     columnMoving: function(jq){  
  3.         return jq.each(function(){  
  4.             var target = this;  
  5.             var cells = $(this).datagrid('getPanel').find('div.datagrid-header td[field]');  
  6.             cells.draggable({  
  7.                 revert:true,  
  8.                 cursor:'pointer',  
  9.                 edge:5,  
  10.                 proxy:function(source){  
  11.                     var p = $('<div class="tree-node-proxy tree-dnd-no" style="position:absolute;border:1px solid #ff0000"/>').appendTo('body');  
  12.                     p.html($(source).text());  
  13.                     p.hide();  
  14.                     return p;  
  15.                 },  
  16.                 onBeforeDrag:function(e){  
  17.                     e.data.startLeft = $(this).offset().left;  
  18.                     e.data.startTop = $(this).offset().top;  
  19.                 },  
  20.                 onStartDrag: function(){  
  21.                     $(this).draggable('proxy').css({  
  22.                         left:-10000,  
  23.                         top:-10000  
  24.                     });  
  25.                 },  
  26.                 onDrag:function(e){  
  27.                     $(this).draggable('proxy').show().css({  
  28.                         left:e.pageX+15,  
  29.                         top:e.pageY+15  
  30.                     });  
  31.                     return false;  
  32.                 }  
  33.             }).droppable({  
  34.                 accept:'td[field]',  
  35.                 onDragOver:function(e,source){  
  36.                     $(source).draggable('proxy').removeClass('tree-dnd-no').addClass('tree-dnd-yes');  
  37.                     $(this).css('border-left','1px solid #ff0000');  
  38.                 },  
  39.                 onDragLeave:function(e,source){  
  40.                     $(source).draggable('proxy').removeClass('tree-dnd-yes').addClass('tree-dnd-no');  
  41.                     $(this).css('border-left',0);  
  42.                 },  
  43.                 onDrop:function(e,source){  
  44.                     $(this).css('border-left',0);  
  45.                     var fromField = $(source).attr('field');  
  46.                     var toField = $(this).attr('field');  
  47.                     setTimeout(function(){  
  48.                         swapField(fromField,toField);  
  49.                         $(target).datagrid();  
  50.                         $(target).datagrid('columnMoving');  
  51.                     },0);  
  52.                 }  
  53.             });  
  54.               
  55.             // swap Field to another location  
  56.             function swapField(from,to){  
  57.                 var columns = $(target).datagrid('options').columns;  
  58.                 var cc = columns[0];  
  59.                 _swap(from,to);  
  60.                 function _swap(fromfiled,tofiled){  
  61.                     var fromtemp;  
  62.                     var totemp;  
  63.                     var fromindex = 0;  
  64.                     var toindex = 0;  
  65.                     for(var i=0; i<cc.length; i++){  
  66.                         if (cc[i].field == fromfiled){  
  67.                             fromindex = i;  
  68.                             fromtemp = cc[i];  
  69.                         }  
  70.                         if(cc[i].field == tofiled){  
  71.                             toindex = i;  
  72.                             totemp = cc[i];  
  73.                         }  
  74.                     }  
  75.                     cc.splice(fromindex,1,totemp);  
  76.                     cc.splice(toindex,1,fromtemp);  
  77.                 }  
  78.             }  
  79.         });  
  80.     }  
  81. });  

使用方法 
Js代码   收藏代码
  1. $('#initList').datagrid({.....}).datagrid("columnMoving"); 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值