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. // swap Field to another location
  55. function swapField(from,to){
  56. var columns = $(target).datagrid('options').columns;
  57. var cc = columns[0];
  58. _swap(from,to);
  59. function _swap(fromfiled,tofiled){
  60. var fromtemp;
  61. var totemp;
  62. var fromindex = 0;
  63. var toindex = 0;
  64. for(var i=0; i<cc.length; i++){
  65. if (cc[i].field == fromfiled){
  66. fromindex = i;
  67. fromtemp = cc[i];
  68. }
  69. if(cc[i].field == tofiled){
  70. toindex = i;
  71. totemp = cc[i];
  72. }
  73. }
  74. cc.splice(fromindex,1,totemp);
  75. cc.splice(toindex,1,fromtemp);
  76. }
  77. }
  78. });
  79. }
  80. });

调用$('#dg').datagrid({.....}).datagrid("columnMoving");

重新=》easyui DataGrid是否可以动态的改变列显示的顺序的更多相关文章

  1. jquery easyui DataGrid 动态的改变列显示的顺序

    $.extend($.fn.datagrid.methods,{ columnMoving: function(jq){ return jq.each(function(){ var target = ...

  2. Easyui Datagrid rownumbers行号四位、五位显示不完全的解决办法

    Easyui Datagrid rownumbers行号四位.五位显示不完全的解决办法(引) 方法一: 相信很多人在使用easyui的时候都遇到过这个问题,当我们设置成显示Rownumber的时候,你 ...

  3. easyui datagrid里的toobar按钮隐藏、显示、禁用等方式的实现

    easyui datagrid里的toobar按钮隐藏.显示.禁用等方式的实现 //隐藏第一个按钮 $('div.datagrid-toolbar a').eq(0).hide(); //隐藏第一条分 ...

  4. JQuery easyUi datagrid 中 editor 动态设置最大值最小值

    前言 近来项目中使用到 easyui 来进行页面设计,感觉挺方便的,但是网上除了api外,其他有价值的资料比较少,故在此分享一点经验,供大家参考.   问题 JQuery easyUi datagri ...

  5. easyui DataGrid表体单元格跨列rowspan

    最近做项目用到了jquery easyui,其中一组DataGrid做的报表是给客户大领导看的,客户要求报表样式跟他们原有系统的一模一样(如下图1). DataGrid样式好调,只是城市名称单元格跨行 ...

  6. EasyUI datagrid : 启用行号、固定列及多级表头后,头部行号位置单元格错位的问题

    症状如图: 上图中,行号列与checkbox 列融合了.解决方法是在datagrid 的 onLoadSuccess 事件中加入如下代码: var opts = $(this).datagrid('o ...

  7. 【技巧】easyUI datagrid在隐藏时加载,显示时无法加载出界面

    注意在显示时调用再调用一次resize就可以显示出来 $("#"+datagridId).datagrid("resize");

  8. easyui DataGrid 工具类之 后台生成列

    @SuppressWarnings({ "rawtypes", "unchecked" })    public Map<String, Object&g ...

  9. easyui datagrid设置fit: true后,页面显示不全的情况

    跟工具栏有关 <div id="tb"> <div style="float:left;"> <a href="#&qu ...

随机推荐

  1. QQ互联简单例子,七彩花都提供

    QQ互联简单例子 源码由七彩花都论坛提供 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  2. HTTP请求头 If-Modified-Since

    来自:http://www.jm47.com/g/91174.htm 一直以来没有留意过HTTP请求头的IMS(If-Modified-Since)标签. 最近在分析Squid的access.log日 ...

  3. android 利用cmdline,将參数从preloader传递到kernel

    以定义參数 cus_param 为例.int型变量. 1. Preloader部分 Platform.h(mediatek\platform\[$platform]\preloader\src\dri ...

  4. iDempiere VS World

    怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建.http://osssme.org/ 第四篇 iDempiere VS World 接下来就接着第一篇,再说一说iDempei ...

  5. Linux命令-目录处理命令:mkdir

    mkdir /tmp/beijing mkdir -p /tmp/shijiazhuang/yuhuaqu 一条命令可以同时创建父目录和子目录 mkdir /tmp/beijing/chaoyangq ...

  6. python ichat使用学习记录

    1.OSError: [WinError -2147221003] 找不到应用程序: 'D:\\python\\ichat\\qrcode.jpg' 原因是该库中没有windows系统如何打开二维码图 ...

  7. 虚析构函数? vptr? 指针偏移?多态数组? delete 基类指针 内存泄漏?崩溃?

    五条基本规则: 1.如果基类已经插入了vptr, 则派生类将继承和重用该vptr.vptr(一般在对象内存模型的顶部)必须随着对象类型的变化而不断地改变它的指向,以保证其值和当前对象的实际类型是一致的 ...

  8. MS SQL server中的isnull函数

    一.ISNULL语法格式 ISNULL ( check_expression , replacement_value ) 二.参数简介 check_expression:将被检查是否为 NULL的表达 ...

  9. Docker搭建本地私有仓库

    安装部署一个私有的Docker Registry是引入.学习和使用Docker这门技术的必经之路之一.尤其是当Docker被所在组织接受,更多人.项目和产品开始接触和使用Docker时,存储和分发自制 ...

  10. Spring mvc注解方式使用事务回滚

    项目名:1ma1ma jdbc.xml <bean  id="dataSource" class="org.apache.commons.dbcp.BasicDat ...