draggable datagrid columns
12678 단어 datagrid
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 moveField(fromField,toField);
49 $(target).datagrid();
50 $(target).datagrid('columnMoving');
51 },0);
52 }
53 });
54
55 // move field to another location
56 function moveField(from,to){
57 var columns = $(target).datagrid('options').columns;
58 var cc = columns[0];
59 var c = _remove(from);
60 if (c){
61 _insert(to,c);
62 }
63
64 function _remove(field){
65 for(var i=0; i<cc.length; i++){
66 if (cc[i].field == field){
67 var c = cc[i];
68 cc.splice(i,1);
69 return c;
70 }
71 }
72 return null;
73 }
74 function _insert(field,c){
75 var newcc = [];
76 for(var i=0; i<cc.length; i++){
77 if (cc[i].field == field){
78 newcc.push(c);
79 }
80 newcc.push(cc[i]);
81 }
82 columns[0] = newcc;
83 }
84 }
85 });
86 }
87 });
// dg ,
1 $('#tt').datagrid('columnMoving');
전환: http://www.jeasyui.com/forum/index.php?topic=279.0
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
EasyUI Datagrid Datetime(EasyUI DataGrid 시간 포맷)EasyUI DataGrid 시간 포맷 방법 1: 위에서 이러한 방법은 데이터grid에서 시험하였습니다.varobj=eval('('+'{Date: new'+value+'}'+').이 말은 도망갈 수 없다! 다음 방법...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.