1、拖动前

2、拖动中

3、拖动后

5、代码1

  1. $("#corp-grid").datagrid({
  2. title:"泥头车企业管理",
  3. toolbar:"#corp-grid-toolbar",
  4. border:false,
  5. fit:true,
  6. width:$(window).width()-252,
  7. columns:[[
  8. {field:"ckb",checkbox:true},
  9. {field:"corpName",title:"企业名称",width:200,halign:"center",align:"center",resizable:true},
  10. {field:"linkedCorpName",title:"挂靠深圳企业名称",width:200,halign:"center",align:"center",resizable:true},
  11. {field:"corpType",title:"企业类型",width:80,align:"center",resizable:false},
  12. {field:"businessScope",title:"经营范围",width:80,align:"center",resizable:false},
  13. {field:"effectiveDate",title:"有效日期",width:80,align:"center",resizable:false},
  14. {field:"opePeriod",title:"营业期限",width:80,align:"center",resizable:false},
  15. {field:"ifLocal",title:"是否本地",width:80,align:"center",resizable:false},
  16. {field:"state",title:"有效状态",width:80,align:"center",resizable:false}
  17. ]],
  18. //striped:true,
  19. fitColumns:true,
  20. //autoRowHeight:true,
  21. rownumbers:false,
  22. singleSelect:false,
  23. ctrlSelect:true,
  24. pagination:true,
  25. pageSize:10,
  26. pageList:[5,10,15,20,25,30],
  27. sortName:"corpId",
  28. sortOrder:"desc",
  29. url:"corp_getInfoList.action",
  30. method:"post",
  31. loadMsg:"加载数据中,请稍后",
  32. onDblClickRow:function(rowIndex, rowData){
  33. openDialog({
  34. type:"view",
  35. title:"泥头车企业信息查看",
  36. width:800,
  37. height:400,
  38. maximizable:true,
  39. href:"BaseInfo/Corp/CorpInfoView.html"
  40. });
  41. },
  42. onRowContextMenu:function(e, rowIndex, rowData){
  43. e.preventDefault();
  44. $(this).datagrid("unselectAll");
  45. $(this).datagrid("selectRow", rowIndex);
  46. $("#corp-menu").menu("show",{
  47. left:event.pageX,
  48. top:event.pageY
  49. });
  50. }
  51. }).datagrid("columnMoving");

6.代码2

    1. $.extend($.fn.datagrid.methods,{
    2. columnMoving:function(jq){
    3. return jq.each(function(){
    4. var grid = this;
    5. var directionDiv = $("<div></div>");
    6. directionDiv.hide();
    7. $("body").append(directionDiv);
    8. $(grid).datagrid("getPanel")
    9. .find(".datagrid-header td[field]:not(td[field='ckb'])").draggable({
    10. revert:true,
    11. cursor:"move",
    12. deltaX:10,
    13. deltaY:10,
    14. edge:10,
    15. proxy:function(source){
    16. var proxyEl = $("<div></div>");
    17. proxyEl.addClass("dg-proxy dg-proxy-error");
    18. proxyEl.text($(source).text());
    19. proxyEl.appendTo($("body"));
    20. return proxyEl;
    21. }
    22. }).droppable({
    23. accept:".datagrid-header td[field]",
    24. onDragOver:function(e,source){
    25. $(source).draggable("proxy").removeClass("dg-proxy-error").addClass("dg-proxy-right");
    26. $(".dg-hide-div").hide();
    27. var thisIndex = $(this).index();
    28. var sourceIndex = $(source).index();
    29. var className = null;
    30. var height = null;
    31. var thisOffset = null;
    32. var left = null;
    33. var top = null;
    34. height = $(this).height();
    35. if(sourceIndex > thisIndex){
    36. className = "dg-move-prev";
    37. thisOffset = $(this).offset();
    38. left = thisOffset.left;
    39. top = thisOffset.top;
    40. }else{
    41. className = "dg-move-next";
    42. if(thisIndex == $(this).parent().children(":last").index()){
    43. thisOffset = $(this).offset();
    44. left = thisOffset.left + $(this).width() - directionDiv.width();
    45. top = thisOffset.top;
    46. }else{
    47. thisOffset = $(this).next().offset();
    48. left = thisOffset.left - directionDiv.width();
    49. top = thisOffset.top;
    50. }
    51. }
    52. directionDiv.removeClass().addClass(className);
    53. directionDiv.css({height:height, left:left, top:top});
    54. directionDiv.show();
    55. },
    56. onDragLeave:function(e,source){
    57. $(source).draggable("proxy").removeClass("dg-proxy-right").addClass("dg-proxy-error");
    58. directionDiv.hide();
    59. },
    60. onDrop:function(e,source){
    61. directionDiv.remove();
    62. var thisIndex = $(this).index();
    63. var sourceIndex = $(source).index();
    64. var sourceCol = new Array();
    65. $(source).remove();
    66. $.each($(grid).datagrid("getPanel")
    67. .find(".datagrid-body tr"),function(index,obj){
    68. var sourceTd = $(obj).children("td:eq(" + sourceIndex + ")");
    69. sourceCol.push(sourceTd);
    70. sourceTd.remove();
    71. });
    72. var prev = sourceIndex > thisIndex;
    73. thisIndex = $(this).index();
    74. if(prev){
    75. $(this).before($(source));
    76. }else{
    77. $(this).after($(source));
    78. }
    79. $.each($(grid).datagrid("getPanel")
    80. .find(".datagrid-body tr"),function(index,obj){
    81. var thisTd = $(obj).children("td:eq(" + thisIndex + ")");
    82. if(prev){
    83. thisTd.before(sourceCol[index]);
    84. }else{
    85. thisTd.after(sourceCol[index]);
    86. }
    87. });
    88. $(grid).datagrid("columnMoving").datagrid("columnHiding");
    89. }
    90. });
    91. });
    92. }
    93. });

easyui datagrid 列拖拽2的更多相关文章

  1. easyui datagrid 列拖拽

    首先easyui 它有提供了拖拽的功能Draggable,那我们就可以想 拖拽标题头到另外的标题头上面我们就对datagrid的columns重新绑定一次 并刷新datagrid这个功能不就行了? & ...

  2. easyui datagrid列拖拽

    <script type="text/javascript"> var cols = [{ field: 'testName', title: '<span cl ...

  3. easyui datagrid 列隐藏和显示

    easyui datagrid 列隐藏和显示 用js怎么控制列的显示和隐藏?   最佳答案   $('#grid').datagrid('hideColumn','列field');把hideColu ...

  4. js控制easyui datagrid列的显示和隐藏

    easyui datagrid 列隐藏和显示 $('#grid').datagrid('hideColumn','列field'); //把hideColumn换成showColumn 即为显示列

  5. easyui树节点拖拽排序的存储过程

    easyui树的拖拽排序功能 easyui树中有拖拽功能 树结构如下: 一个行政区域对应一个单位,一个单位对应多个部门,每个部门下有相关人员,功能要求: (1)行政区域没有子节点,点击text加载部门 ...

  6. 在 Element-UI 的 Table 组件上添加列拖拽效果

    Element-UI 的 Table组件很强大,但是我们的需求更强大... 简单粗暴的来一发效果图: 一.数据驱动 传统的拖动效果,都是基于通过 mousedown.mousemove.mouseup ...

  7. 列拖拽顺序调整-sortable.js使用

    最近在做一个单表统计功能,涉及到一个查询列配置,但是查询出来的列顺序,可以进行配置,通过写列的排序当然阔以,但是方法就不美丽了.所以,在网上搜了一下拖拽的组件,最终定位Sortable.js,简单易用 ...

  8. 让jquery easyui datagrid列支持绑定嵌套对象

    嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...

  9. easyUI datagrid 列宽自适应(简单 图解)(转)

    响应数据格式: easyUI在html代码中结构: 发现了什么没有,我们的表头其实是一个td在td中有一个属性field那么我们就可以获得了; 以下就是自适应代码: //添加事件 function c ...

随机推荐

  1. 第三百四十七天 how can I 坚持

    下班的时候眼皮就一直在跳,今天意志好消沉,以后还是少说话,多说不宜啊.. 挣脱束缚,无论怎样,对于生命,什么都是次要的,不要想太多. 最近事比较多,应该是累了,睡一觉 应该就好了. 睡觉,晚安.

  2. Oracle中INT、FLOAT、NUMBER区别

    Oracle里的int等于number(长度,0) float也类似,number要定义小数部分的位数,而float不用定义后边小数有几位  因为NUMBER要确定长度,后边确定小数位. 所以,如果不 ...

  3. Connecting Physics Bodies

    [Connecting Physics Bodies] The kinds of joints you can create in Sprite Kit. You add or remove join ...

  4. LeetCode100:Same Tree

    Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...

  5. visualC/C++连接MySql数据库

    vs连接数据库其实就是将mysql数据库.h头文件接口.lib链接文件和dll执行文件加入到项目中.下面是配置如何加入. 转于http://www.cnblogs.com/justinzhang/ar ...

  6. mysql show命令集合

    a. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称b. show databases; -- 显示mysql中所有数据库的 ...

  7. iOS7 各种问题解决

    1 UITableView 行分割线不到头,短线问题 if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { ...

  8. MySQL 日期时间

    NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中.CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DAT ...

  9. 从零开始学C++之虚函数与多态(二):纯虚函数、抽象类、虚析构函数

    一.纯虚函数 虚函数是实现多态性的前提 需要在基类中定义共同的接口 接口要定义为虚函数 如果基类的接口没办法实现怎么办? 如形状类Shape 解决方法 将这些接口定义为纯虚函数 在基类中不能给出有意义 ...

  10. 用java写一个web服务器

    一.超文本传输协议 Web服务器和浏览器通过HTTP协议在Internet上发送和接收消息.HTTP协议是一种请求-应答式的协议——客户端发送一个请求,服务器返回该请求的应答.HTTP协议使用可靠的T ...