在面板上拖放网格

mmr*_*151 4 extjs

我有一个面板,在面板内我有三个网格.我希望能够通过拖放来移动网格.我有draggable:true和enableDragDrop:true,这似乎允许我拖动而不是删除.

任何天才的帮助将不胜感激.

Sea*_*son 5

为了删除可拖动的内容,您需要定义一个Ext.dd.DropTargetExt.dd.DropZone定义删除项目时所需的行为.如果区域中有多个放置目标以不同方式处理拖放,请使用DropZone,但听起来您需要DropTarget,用于放置单个元素(例如面板内部).

要使整个面板能够放下东西,将面板传递给DropTarget的构造notifyDrop函数,并覆盖该函数:

var panelDropTarget = new Ext.dd.DropTarget(panel, {
    notifyDrop: function(dragsource, event, data) {
        // do something with the dragsource
    }
});
Run Code Online (Sandbox Code Playgroud)

dragsource传递到函数将有你的网格,它(我认为这将是dragsource.panel,但使用Firebug的调试,以确定到底是什么源对象中有).

在网格上有句柄后,您可以在面板中对其进行重新排序,移动到其他位置,或者定义您想要的任何行为.