在面板上拖放网格

时间:2010-10-07 10:20:03

标签: extjs

我有一个面板,在面板内我有三个网格。 我希望能够通过拖放来移动网格。 我有draggable:true和enableDragDrop:true,这似乎允许我拖动但不会掉线。

非常感谢任何天才的帮助。

1 个答案:

答案 0 :(得分: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
    }
});

传递给函数的dragsource将包含你的网格(我认为它将是dragsource.panel,但是使用Firebug调试来确定源对象中的确切内容。)< / p>

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