【发布时间】:2014-11-06 13:58:24
【问题描述】:
原PrimeFacesTree节点拖拽后是否可以不移除?默认行为是删除在另一个地方拖放的节点。我可以防止这种情况发生吗?
我正在使用 Primefaces 4.0
【问题讨论】:
标签: java jsf primefaces drag-and-drop tree
原PrimeFacesTree节点拖拽后是否可以不移除?默认行为是删除在另一个地方拖放的节点。我可以防止这种情况发生吗?
我正在使用 Primefaces 4.0
【问题讨论】:
标签: java jsf primefaces drag-and-drop tree
没有任何预制属性可以在 dropEvent 上复制节点。
解决方案是为您的<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
}
别忘了重新画你的树
【讨论】:
<p:ajax event="dragdrop" listener="#{treeDNDView.onDragDrop}" .../>。