将Drop图像拖放到EXTJS TreePanel和TreeNode中

时间:2010-11-02 12:14:45

标签: extjs

我有一个ExtJs TreePanel,我在其中将enableDrop设置为true,并将属性ddGroup设置为其中一个组。我有另一个ExtJs视图,我需要拖放图像。我知道为此定义的ddGroup是 media

然而,拖放从未发生过。这是我的代码段:

var treePanel = new Ext.tree.TreePanel({
 "id": "myTree",
 "lines": true,
 "animate": true,
 "enableDrop": true,
 "enableDrag": false,
 "ddGroup": "media",
 "containerScroll": true,
 "autoScroll": true,
 "split": true,
 "stateful": true,
 "renderTo": "treeStruc",
 "loader": //my loader,
 "root": new Ext.tree.AsyncTreeNode(treeRootConfig),
 "dropConfig": {
  "ddGroup": 'media'
 },
 "listeners": { 
  "nodedrop": function(e) {   
   //do the check
  }
 }                    
});

还有什么需要做的吗?

感谢。

1 个答案:

答案 0 :(得分:0)

虽然文档说明在树节点上删除“DD对象”时会触发nodedrop,但源似乎表明它仍然期望有效节点。

为了实现从视图到树的拖放,我相信您必须初始化自己的TreeDropZone来处理不是树兼容节点的已删除DD项。

此示例:http://dev.sencha.com/deploy/dev/examples/dd/dragdropzones.html显示类似的内容(尽管它是网格拖放的视图),但您可能必须使用TreeDropZone实例化,他们使用了直接的Ext.dd。 DropZone对象。

此外,请确保您的源视图和目标树共享相同的ddGroup - 尽管我认为您提到过它们。

我希望这对你有所帮助!