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. Cocos2d-x -- 如何让背景从上到下滚动

    1. 首先,声明一个2个大小的sprite数组 class GameScreen : public cocos2d::Layer { public: ... cocos2d::Sprite *back ...

  2. Mysql创建、删除用户、查询所有用户等教程,提升您的MYSQL安全度!

    建议您不要使用mysql的root账号来为您的web页面连接数据库,这可能会导致用户通过网页获取到您的数据库账号密码,存在严重的安全隐患. 建议新建一账号,权限设置基本够用,然后使用那新建的账号来连接 ...

  3. 符号三角形_hdu_2510(深搜).java

    http://acm.hdu.edu.cn/showproblem.php?pid=2510 Time Limit: 2000/1000 MS (Java/Others)    Memory Limi ...

  4. 【PM】关于系统数据库和服务现场升级的一些看法

    工作快满一年了,立即着手准备第二次出差去升级我们的系统,可是突然想到一件事情,让我颇有感触,是关于系统现场升级的. 我们迭代开发的系统隔一段时间就会须要到用户的现场去为其进行系统升级,当中升级包含cl ...

  5. Openerp workflow 工作流批注模块

    转自:http://blog.csdn.net/yeahliu/article/details/17207289 2013-12-22 添加workflow_stop标识,感谢广州-jerry 201 ...

  6. java-----instanceof与getClass的区别

    在比较一个类是否和另一个类属于同一个类实例的时候,我们通常可以采用instanceof和getClass两种方法通过两者是否相等来判断,但是两者在判断上面是有差别的,下面从代码中看看区别: publi ...

  7. ubuntu——主题更新,Ubuntu-tweak安装

    1.首先打开终端 2.在终端中输入sudo apt-add-repository ppa:tualatrix/ppa 回车后输入密码等一会,导入密钥 3.再输入sudo apt-get update ...

  8. 【TP5.0】页面布局,引入公共的模版文件

    1.实例:如后台admin模块,公用一个header.html和footer.hml 2.模块结构: 3.使用方式: {include file="common/header"} ...

  9. 【APP接口开发】php获取body数据

    PHP获取接口数据: $postStr = file_get_contents("php://input");//因为很多都设置了register_globals禁止,不能用$GL ...

  10. Pytorch中的norm跟Numpy中的norm对比