JavaScript Extjs面板拖放
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript Extjs面板拖放相关的知识,希望对你有一定的参考价值。
Ext.namespace('Ext.test');
Ext.test.Panel = function() {
this.left = new Ext.Panel({
id : 'left',
border : true,
bodyStyle : 'padding: 5px',
defaults : {
style : 'margin-bottom: 5px',
draggable : {
insertProxy : false,
onDrag : function(e) {
var pel = this.proxy.getEl();
this.x = pel.getLeft(true);
this.y = pel.getTop(true);
var s = this.panel.getEl().shadow;
if (s) {
s.realign(this.x, this.y, pel.getWidth(), pel
.getHeight());
}
},
endDrag : function(e) {
this.panel.setPosition(this.x, this.y);
}
}
},
items : [{
id : 'panel1',
html : 'Panel 1'
}, {
id : 'panel2',
html : 'Panel 2'
}, {
id : 'panel3',
html : 'Panel 3'
}, {
id : 'panel4',
html : 'Panel 4'
}, {
id : 'panel5',
html : 'Panel 5'
}]
});
this.right = new Ext.Panel({
border : true,
id : 'right',
bodyStyle : 'padding: 5px',
defaults : {
bodyStyle : 'padding-left: 5px'
}
});
this.right.on('render', this.onRightRender, this);
Ext.test.Panel.superclass.constructor.call(this, {
renderTo : 'pageContainer',
bodyStyle : 'padding: 5px',
height : 500,
width : 760,
title : 'Demo',
layout : 'table',
defaults : {
height : 200,
width : 200
},
items : [this.left, this.right]
});
};
Ext.extend(Ext.test.Panel, Ext.Panel, {
onRightRender : function(cmp) {
var sourcePanelDropTarget = new Ext.dd.DropTarget(cmp.body.dom,
{
notifyDrop : function(ddSource, e, data) {
cmp.add(ddSource.panel);
cmp.doLayout();
return (true);
}
});
}
});
Ext.onReady(function() {
Ext.QuickTips.init();
var panel = new Ext.test.Panel();
});
以上是关于JavaScript Extjs面板拖放的主要内容,如果未能解决你的问题,请参考以下文章
使用 preloadChildren false 在 ExtJS 树面板之间拖放
新添加的行不能拖放到 extjs 网格面板中
使用 extjs 拖放
在sencha extjs疯狂拖放
ExtJS - 网格面板所有检查
extjs 网格面板重新配置问题