我有一个面板,在面板内我有三个网格。 我希望能够通过拖放来移动网格。 我有draggable:true和enableDragDrop:true,这似乎允许我拖动但不会掉线。
非常感谢任何天才的帮助。
答案 0 :(得分:5)
为了删除可拖动的内容,您需要定义Ext.dd.DropTarget
或Ext.dd.DropZone
并定义删除项目时所需的行为。如果区域中有多个放置目标以不同方式处理拖放,请使用DropZone,但听起来您需要DropTarget,它用于放置单个元素(例如在面板内)。
要使整个面板能够放下东西,将面板传递给DropTarget的构造函数,并覆盖notifyDrop
函数:
var panelDropTarget = new Ext.dd.DropTarget(panel, {
notifyDrop: function(dragsource, event, data) {
// do something with the dragsource
}
});
传递给函数的dragsource
将包含你的网格(我认为它将是dragsource.panel
,但是使用Firebug调试来确定源对象中的确切内容。)< / p>
在网格上有句柄后,您可以在面板中对其进行重新排序,移动到其他位置,或者定义您想要的任何行为。