OpenUI5 Drag&从树上掉下来

时间:2015-04-16 10:34:28

标签: javascript jquery tree sapui5

修改
这个问题已经过时了。

如果有人使用Google搜索相似功能,请查看this example with sap.m.Table。自v1.54起,ListBase支持DnD。由于sap.m.TreeListBase延伸(如sap.m.Table那样),我想在多个树之间执行DnD也应该可行。

(正如 boghyon 已评论过)


我正在试图拖动&将项目从OpenUI5-Tree拖放到另一棵树中 用例:
用户应该能够选择一个TreeItem并将其放入屏幕中间(进入另一个树)。在该树中,用户应该能够对每个拖动的选择项进行排序。下降。

我的问题是我只能拖东西,但我不能把它们扔进树里。我使Tree droppable,但它不起作用。

这里有一个例子:
JsBin Example
我试图将项目拖放到右表中。

我正在使用Google Chrome版本41.不幸的是我无法使用Firefox拖动项目。我不知道为什么......

1 个答案:

答案 0 :(得分:1)

大约3个小时后,我得到了解决方案 这里有一个样本:
JS-Bin Solution

我不得不使用这样的jquery事件:

$("#" + sap.ui.getCore().byId("middleTree").getId()).on("drop", function(event) {
            event.preventDefault();  
            event.stopPropagation();
            alert("Dropped!");
    });

$("#" + sap.ui.getCore().byId("middleTree").getId()).on("dragover", function(event) {
            event.preventDefault();  
            event.stopPropagation();
            $(this).addClass('dragging');
    });

$("#" + sap.ui.getCore().byId("middleTree").getId()).on("dragleave", function(event) {
            event.preventDefault();  
            event.stopPropagation();
            $(this).removeClass('dragging');
    });

修改
虽然最好使用SAP / OPEN UI5s方法attachBrowserEvent我实际上不能将它与树一起使用,因为它不会扩展Control sap.ui.core.Control.