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. Discuz常见小问题-如何删除用户

    用户-用户管理,直接拉到底部点搜索   切换到最后一页,然后勾选要删除的用户(最后一页就是最新注册的用户)   要勾选两个选项,删除过程比较长,不要中途退出,等待删除完毕   再次搜索用户就少一个了

  2. SQL语法 之 基本查询

    一.语法结构 SELECT select_list [ INTO new_table ] FROM table_source [ WHERE search_condition ] [ GROUP BY ...

  3. 设计模式之Programming to an Interface, not anImplementation 程序指向接口,而不是实现

    Class inheritance is basically just a mechanism for extending an application's functionality by reus ...

  4. PHP XML Parser函数

    PHP XML Parser 函数 PHP XML Parser 简介 XML 函数允许您解析 XML 文档,但无法对其进行验证. XML 是一种用于标准结构化文档交换的数据格式.您可以在我们的 XM ...

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

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

  6. MFC用代码加入对话框背景图片和button图片

    执行环境:VS2013 一.加入对话框背景图片 ①插入位图,把生成的空白位图进行替换(xxx.bmp图片的名称和格式与生成的空白位图保持一致) ②查看属性,得到位图ID ③编写代码: void CMF ...

  7. python发送邮件实例1

    文件形式的邮件 #!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime.text import MIMEText fr ...

  8. Global Times 单词(日常收集)

    1. 2013-09-09 windfall 英[ˈwɪndfɔ:l] 美[ˈwɪndˌfɔl] n.意外之财:被风吹落的果子:意外的收获 eg:Only half made any attempt ...

  9. 转:sock_ev——linux平台socket事件框架(基于数据报的测试程序) .

    上一篇已经做过注释,这一篇直接上代码 /******************************************************************************** ...

  10. 中文latex去掉图片描述

    中文latex去掉图片描述,或者自定义: \usepackage{caption} \caption*{the title of figure}就可以自己定义了.