Primefaces Tree:拖放后不删除节点

时间:2014-11-06 13:58:24

标签: java jsf primefaces drag-and-drop tree

拖动后,是否有可能不从原始PrimeFacesTree中删除节点?默认行为是删除在另一个位置拖放的节点。我可以阻止这种情况发生吗?

我正在使用Primefaces 4.0

1 个答案:

答案 0 :(得分:1)

在dropEvent上没有复制节点的任何premade属性。

解决方案是为您的<p:tree>元素添加一个监听器:

<p:tree listener="#{managingBean.onDragDrop}" />

然后,您需要在backbean方法中重复创建初始位置上的节点:

public void onDragDrop(TreeDragDropEvent event) {
    TreeNode dragNode = event.getDragNode();
    TreeNode dropNode = event.getDropNode();
    int dropIndex = event.getDropIndex();

    // Logic to repopulate initial Tree element
}

别忘了重新画树