gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 22:52:02 24 4
gpt4 key购买 nike

我有两个从服务器端源并排填充的 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com