Kendo ui 剑道UI:如何将多个项目从剑道UI网格拖放到树中?

Kendo ui 剑道UI:如何将多个项目从剑道UI网格拖放到树中?,kendo-ui,kendo-grid,kendo-treeview,kendo-draggable,kendo-droptarget,Kendo Ui,Kendo Grid,Kendo Treeview,Kendo Draggable,Kendo Droptarget,我正在cshtml页面中使用剑道ui网格和树,希望将多行从网格拖放到树中。我可以将一行从网格拖放到树上,但对于多个项目,相同的方法不起作用 以下是我的代码段: $("#grid").kendoGrid({ selectable: "row", sortable: true, pageable: true, columns: ....... $("#treeview").kendoTreeView({ dragAndDrop: true }); 还有我的

我正在cshtml页面中使用剑道ui网格和树,希望将多行从网格拖放到树中。我可以将一行从网格拖放到树上,但对于多个项目,相同的方法不起作用

以下是我的代码段:

$("#grid").kendoGrid({
    selectable: "row",
    sortable: true,
    pageable: true,
    columns: .......

$("#treeview").kendoTreeView({
    dragAndDrop: true
});
还有我的KendoDragable和kendoDropTarget事件:

$("#grid").kendoDraggable({
    filter: "tr",
    hint: function () {
        var g = $("#grid").data("kendoGrid")
        return g.select().clone()
    }
});

$("#treeview").kendoDropTarget({
    drop: droptargetOnDrop
});
上面的代码段用于将单行从网格拖到树上

但是,如果更改多行选择的网格定义,则不会再触发kendoDropTarget drop事件

$("#grid").kendoGrid({
    selectable: "multiple",
    sortable: true,
    pageable: true,
    columns: .......

如果我做错了什么,请告诉我,还有什么可能的解决办法。

网格上的多选不能很好地进行拖放操作,因为可选事件和拖动事件都是以可选事件为优先触发的

要解决此问题,可以在拖动时取消可选事件

为此,请更改kendoDraggable配置,以在dragstart函数中包含以下内容:

dragstart: function (e) {
    $('#grid').data("kendoGrid").selectable.userEvents.cancel();
}