jquery - 在拖放时让 Kendo Treeview 复制节点

标签 jquery treeview kendo-asp.net-mvc kendo-treeview

我有两个从服务器端源并排填充的 Treeview 。
左 Treeview 包含分组的权限。
右侧的 Treeview 包含人员。

我在 drop 事件中设置了规则,以防止用户拖动除人以外的任何内容的权限:

 $("#tvw-permissions").kendoTreeView({
            dragAndDrop: true,
            dataSource: permissiondatasource,
            dataTextField: ["Text"],
            dataSpriteCssClassField: ["SpriteCssClass"],
            drop: function (e) {
                var srcTree = $($(e.sourceNode).closest("div.k-treeview")).data("kendoTreeView").element[0].id;
                var destTree = $($(e.destinationNode).closest("div.k-treeview")).data("kendoTreeView").element[0].id;

                if (srcTree == destTree) {
                    e.setValid(false);

                }

                var destinationid = $('#' + destTree).data("kendoTreeView").dataSource
                    .getByUid($(e.destinationNode).data("uid")).id;

                if (!destinationid.startsWith('person')) {
                    e.setValid(false);
                    return;
                }
            }

到现在为止还挺好。但是,我确实希望能够将相同的权限拖给多人。 Kendo Treeview 在拖放操作上执行“移动节点”。

如何防止源树上的拖动节点被移动?

最佳答案

解决方案:我通过首先取消放置操作,然后手动将 sourceNode 的副本添加到目标 Treeview 来实现此目的:

 $("#tvw-permissions").kendoTreeView({
     dragAndDrop: true,
     dataSource: permissiondatasource,    
     drop: function (e) {
       e.preventDefault();
       var treeview = $("#tvwPersons").data("kendoTreeView");
       var copy = this.dataItem(e.sourceNode).toJSON();
       treeview.append(copy, $(e.destinationNode));
       return;
    }

关于jquery - 在拖放时让 Kendo Treeview 复制节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51162555/

相关文章:

jquery - 如何在 jquery 验证引擎插件中设置错误消息位置?

html - 如何突出显示一列中的所有文本?

c# - 当 ListView 中的数据更改时,WPF 获取 "old"值

jquery - 最小高度 : 100%; not working with jQuery treeview Plugin

css - Kendo Grid 在 IE11 中的性能缓慢

jquery - 改进我的 jquery 图像轮播

javascript - 使用 javascript/html 从 JSON 结果中获取一段数据

c# - TreeView 中不可选择的节点

css - 如何在悬停时打开 Kendo 菜单,而不是在单击时打开?

kendo-ui - 剑道网格的Select命令操作配置