我有一棵树,用户可以拖放分支。
现在这一切都运行良好,但我需要能够以编程方式移动分支。
我需要模拟剪切和粘贴(我将让用户使用按钮而不是 Ctrl - X 和 V )。< / p>
有没有人知道我应该从哪里开始?
答案 0 :(得分:1)
答案 1 :(得分:1)
这是一个可以同时用于多个节点的剪切和粘贴。此版本还将隐藏任何已被“剪切”的节点,并且在粘贴之前不会再次显示它们。在粘贴期间,它将仅使用所选的第一个节点,所有其他节点将被忽略。
var Children = new Array();
function CutChildren(){
Children = tree.getSelectionModel().getSelectedNodes();
var limit = Children.length;
for (count =0; count < limit; count++){
Children[count].getUI().hide();
}
}
function PasteChildren(){
var selected = new Array();
selected = tree.getSelectionModel().getSelectedNodes();
var limit = Children.length;
for (count =0; count < limit; count++){
selected[0].appendChild(Children[count]);
Children[count].getUI().show();
if (count > 100){
break;}
}
}
答案 2 :(得分:0)
我从未玩过那种方法所以我不能真正给你一个完整的解决方案,但是TreePanel类有一个带有以下参数的movenode方法... Tree tree,Node node,Node oldParent,Node newParent,Number索引
还有与此方法相关的事件。希望这会有所帮助。
编辑 - 我读得太快了,那些都是事件。我认为你可以手动执行此操作的唯一方法是使用appendChild和removeChild方法。