目前我正在开发一个使用 primefaces 3.4.1 版本的项目,该版本不支持在树组件中拖放。所以我使用上下文菜单而不是拖放。
<p:tree id="treeHierarchy"
value="#{hierarchyManagementBackingBean.root}" var="node"
dynamic="true" selectionMode="single" cache="false"
style="width:99%;" selection="#{hierarchyManagementBackingBean.selectedNode}">
<p:treeNode id="idtreenode">
<h:outputText value="#{node.name} (#{node.entityType})" />
</p:treeNode>
</p:tree>
<p:contextMenu for="treeHierarchy">
<p:menuitem value="Cut" actionListener="#{hierarchyManagementBackingBean.cutNode}"/>
<p:menuitem value="Paste" actionListener="#{hierarchyManagementBackingBean.pasteNode}"/>
</p:contextMenu>
在背豆中,
public void cutNode() {
ChildNodeDTO select = (ChildNodeDTO) selectedNode.getData();
selectedNode.getParent().getChildren().remove(selectedNode);
selectedNode.setParent(null);
selectedNode = null;
}
有没有办法从支持 bean 刷新父节点,以便在树上看到更改?
谢谢。
不,您只能更新完整的树 afaik
实际上,我找到了实现此功能的方法。
<h:form id="frmHierachiManage" styleClass="treeForm">
-- tree inside this form
</h:form>
然后在背豆中,
RequestContext.getCurrentInstance().update("frmHierachiManage");
这将更新树视图。