1

我目前正在开发一个 django 项目,我正在使用 dynatree 来构建树视图。我有两棵树,第一棵树有用户可以选择的项目,选定的项目将移动到第二棵树。有没有办法我可以在 dynatree 中这样做?并且有一个选项供用户“取消选择”该项目,以便选定的项目将移回第一棵树。那么当用户取消选择该项目时,我如何将项目移回其原始父节点?提前致谢..

4

3 回答 3

2

我已经使用上下文菜单的复制/粘贴概念解决了我的问题。对于第二个问题,我使用全局变量来存储原始父节点,因此当用户取消选择该项目时,它将移回其原始父节点。

于 2013-03-20T06:18:10.207 回答
1

我在 DIV dvAllLetterTemplates (包含一个主列表)和一个 DIV dvUserLetterTemplates 上有一个 dynamTree,项目将被复制到其中。


//Select the Parent Node of the Destination Tree
var catNode = $("#dvUserLetterTemplates").dynatree("getTree").selectKey(catKey, false);
if (catNode != null) {
//Select the source node from the Source Tree
    var tmplNode = $("#dvAllLetterTemplates").dynatree("getTree").selectKey(arrKeys[i], false);
    if (tmplNode != null) {
        //Make a copy of the source node
        var ndCopy = tmplNode.toDict(false, null);
        //Add it to the parent node
        catNode.addChild(ndCopy);
        //Remove the source node from the source tree (to prevent duplicate copies
        tmplNode.remove();
        //Refresh both trees
        $("#dvUserLetterTemplates").dynatree("getTree").redraw();
        $("#dvAllLetterTemplates").dynatree("getTree").redraw();
     }
}

于 2013-10-03T15:18:21.413 回答
0

“选定”和“活动”之间是有区别的。选择通常使用复选框来完成,而只能激活一个节点(通常通过鼠标单击)。第二次单击活动节点不会触发“onActivate”事件,但您可以实现“onClick”处理程序来捕获它并调用 node.deactivate()

于 2012-09-30T08:02:29.010 回答