我在cshtml页面中使用了kendo ui网格和树,并希望将多行从网格拖放到树中。我能够将一行从网格拖放到树中,但对于多个项目,同样的方法不起作用。
以下是我的代码段:
$("#grid").kendoGrid({
selectable: "row",
sortable: true,
pageable: true,
columns: .......
$("#treeview").kendoTreeView({
dragAndDrop: true
});
我的kendoDraggable和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: .......
如果我做错了任何可能的解决方案,请告诉我。
答案 0 :(得分:0)
由于可选事件和拖动事件都以优先选择的事件触发,因此网格上的多个选择不能很好地拖放。
要解决此问题,您可以在拖动时取消可选事件。
要执行此操作,请更改kendoDraggable配置以在dragstart函数中包含以下内容:
dragstart: function (e) {
$('#grid').data("kendoGrid").selectable.userEvents.cancel();
}