easyUI editor

$("#corp-grid").datagrid({
title:"泥头车企业管理",
toolbar:"#corp-grid-toolbar",
border:false,
fit:true,
width:$(window).width()-252,
columns:[[
{field:"ckb",checkbox:true},
{field:"corpName",title:"企业名称",width:200,halign:"center",align:"center",resizable:true},
{field:"linkedCorpName",title:"挂靠深圳企业名称",width:200,halign:"center",align:"center",resizable:true},
{field:"corpType",title:"企业类型",width:80,align:"center",resizable:false},
{field:"businessScope",title:"经营范围",width:80,align:"center",resizable:false},
{field:"effectiveDate",title:"有效日期",width:80,align:"center",resizable:false},
{field:"opePeriod",title:"营业期限",width:80,align:"center",resizable:false},
{field:"ifLocal",title:"是否本地",width:80,align:"center",resizable:false},
{field:"state",title:"有效状态",width:80,align:"center",resizable:false}
]],
//striped:true,
fitColumns:true,
//autoRowHeight:true,
rownumbers:false,
singleSelect:false,
ctrlSelect:true,
pagination:true,
pageSize:10,
pageList:[5,10,15,20,25,30],
sortName:"corpId",
sortOrder:"desc",
url:"corp_getInfoList.action",
method:"post",
loadMsg:"加载数据中,请稍后",
onDblClickRow:function(rowIndex, rowData){
openDialog({
type:"view",
title:"泥头车企业信息查看",
width:800,
height:400,
maximizable:true,
href:"BaseInfo/Corp/CorpInfoView.html"
});
},
onRowContextMenu:function(e, rowIndex, rowData){
e.preventDefault();

        $(this).datagrid("unselectAll");  
          
        $(this).datagrid("selectRow", rowIndex);  
          
        $("#corp-menu").menu("show",{  
            left:event.pageX,  
            top:event.pageY  
        });  
    }  
}).datagrid("columnMoving");  

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

        var directionDiv = $("<div></div>");  
          
        directionDiv.hide();  
          
        $("body").append(directionDiv);  
          
        $(grid).datagrid("getPanel")  
                .find(".datagrid-header td[field]:not(td[field='ckb'])").draggable({  
            revert:true,  
            cursor:"move",  
            deltaX:10,  
            deltaY:10,  
            edge:10,  
            proxy:function(source){  
                var proxyEl = $("<div></div>");  
                  
                proxyEl.addClass("dg-proxy dg-proxy-error");  
                  
                proxyEl.text($(source).text());  
                  
                proxyEl.appendTo($("body"));  
                  
                return proxyEl;  
            }  
        }).droppable({  
            accept:".datagrid-header td[field]",  
            onDragOver:function(e,source){  
                $(source).draggable("proxy").removeClass("dg-proxy-error").addClass("dg-proxy-right");  
                  
                $(".dg-hide-div").hide();  
                  
                var thisIndex = $(this).index();  
                var sourceIndex = $(source).index();  
                  
                var className = null;  
                  
                var height = null;  
                  
                var thisOffset = null;  
                  
                var left = null;  
                var top = null;  
                  
                height = $(this).height();  
                  
                if(sourceIndex > thisIndex){  
                    className = "dg-move-prev";  

                    thisOffset = $(this).offset();  
                      
                    left = thisOffset.left;  
                    top = thisOffset.top;  
                }else{  
                    className = "dg-move-next";  
                      
                    if(thisIndex == $(this).parent().children(":last").index()){  
                        thisOffset = $(this).offset();  
                          
                        left = thisOffset.left + $(this).width() - directionDiv.width();  
                        top = thisOffset.top;  
                    }else{  
                        thisOffset = $(this).next().offset();  
                          
                        left = thisOffset.left - directionDiv.width();  
                        top = thisOffset.top;  
                    }  
                }  
                  
                directionDiv.removeClass().addClass(className);  
                directionDiv.css({height:height, left:left, top:top});  
                directionDiv.show();  
            },  
            onDragLeave:function(e,source){  
                $(source).draggable("proxy").removeClass("dg-proxy-right").addClass("dg-proxy-error");  
                  
                directionDiv.hide();  
            },  
            onDrop:function(e,source){  
                directionDiv.remove();  
                  
                var thisIndex = $(this).index();  
                var sourceIndex = $(source).index();  
                  
                var sourceCol = new Array();  
                  
                $(source).remove();  
                $.each($(grid).datagrid("getPanel")  
                                .find(".datagrid-body tr"),function(index,obj){  
                    var sourceTd = $(obj).children("td:eq(" + sourceIndex + ")");  
                      
                    sourceCol.push(sourceTd);  
                      
                    sourceTd.remove();  
                });  
                  
                var prev = sourceIndex > thisIndex;  
                  
                thisIndex = $(this).index();  
                  
                if(prev){  
                    $(this).before($(source));  
                }else{  
                    $(this).after($(source));  
                }  
                  
                $.each($(grid).datagrid("getPanel")  
                                .find(".datagrid-body tr"),function(index,obj){  
                    var thisTd = $(obj).children("td:eq(" + thisIndex + ")");  
                      
                    if(prev){  
                        thisTd.before(sourceCol[index]);  
                    }else{  
                        thisTd.after(sourceCol[index]);  
                    }  
                });  
                  
                $(grid).datagrid("columnMoving").datagrid("columnHiding");  
            }  
        });  
    });  
}  

});

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 fromIndex = $(source).index();
47 var toField = $(this).attr('field');
48 var toIndex = $(this).index();
49 setTimeout(function(){
50 moveField(fromField,toField,fromIndex,toIndex);
51 $(target).datagrid();
52 $(target).datagrid('columnMoving');
53 },0);
54 }
55 });
56
57 // move field to another location
58 function moveField(from,to,fromIndex,toIndex){
59 var columns = $(target).datagrid('options').columns;
60 var cc = columns[0];
61 var c = _remove(from);
62 if (c){
63 _insert(to,c);
64 }
65
66 function _remove(field){
67 for(var i=0; i<cc.length; i++){
68 if (cc[i].field == field){
69 var c = cc[i];
70 cc.splice(i,1);
71 return c;
72 }
73 }
74 return null;
75 }
76 function _insert(field,c){
77 var newcc = [];
78 for(var i=0; i<cc.length; i++){
79 if (cc[i].field == field){
80 if(fromIndex<toIndex){
81 newcc.push(cc[i]);
82 i++;
83 newcc.push(c);
84 }else{
85 newcc.push(c);
86 }
87 }
88 newcc.push(cc[i]);
89 }
90 columns[0] = newcc;
91 }
92 }
93 });
94 }
95 });

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容