OpenUI5 从树中拖放
OpenUI5 Drag & Drop from and into a Tree
编辑:
这个问题已经过时了。
如果有人用谷歌搜索类似的功能,请查看 this example with sap.m.Table. DnD is now supported in ListBase
as of v1.54. Since sap.m.Tree 从 ListBase
扩展(如 sap.m.Table
所做的那样),我想在那里应该可以在多个树之间执行 DnD还有。
(正如 boghyon 评论的那样)
我正在尝试将项目从 OpenUI5-Tree 拖放到另一棵树中。
用例:
用户应该能够选择一个 TreeItem 并将其放入屏幕中间(放入另一棵树)。在该树中,用户应该能够通过拖放对选择的项目进行排序。
我的问题是我只能拖动东西,但不能将它们放到树中。我使树可放置,但它不起作用。
这里有一个小例子:
JsBin Example
我正在尝试将项目拖放到右侧 Table。
我正在使用 Google Chrome 版本 41。不幸的是,我无法使用 Firefox 拖动项目。不知道为什么...
大约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 i can't actually use it with a Tree, because it doesn't extend Control sap.ui.core.Control.
编辑:
这个问题已经过时了。
如果有人用谷歌搜索类似的功能,请查看 this example with sap.m.Table. DnD is now supported in ListBase
as of v1.54. Since sap.m.Tree 从 ListBase
扩展(如 sap.m.Table
所做的那样),我想在那里应该可以在多个树之间执行 DnD还有。
(正如 boghyon 评论的那样)
我正在尝试将项目从 OpenUI5-Tree 拖放到另一棵树中。
用例:
用户应该能够选择一个 TreeItem 并将其放入屏幕中间(放入另一棵树)。在该树中,用户应该能够通过拖放对选择的项目进行排序。
我的问题是我只能拖动东西,但不能将它们放到树中。我使树可放置,但它不起作用。
这里有一个小例子:
JsBin Example
我正在尝试将项目拖放到右侧 Table。
我正在使用 Google Chrome 版本 41。不幸的是,我无法使用 Firefox 拖动项目。不知道为什么...
大约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 i can't actually use it with a Tree, because it doesn't extend Control sap.ui.core.Control.