6

我有p:treeTable一个表格和p:dialog另一个表格,p:dialog我将数据添加到p:treeTable

在提交h:commandButton对话框时,我添加更新p:treeTable以查看添加的节点

问题是用户打开的所有展开节点都会崩溃

我发现了这个问题避免更新后p:treeTable的崩溃,在他写的问题中解决了这个问题,但他的问题没有答案或解决方案

4

3 回答 3

17

为避免折叠或展开,您必须将 java 端的节点标记为折叠或展开。为此,只需添加一些 ajax 调用和一些侦听器方法。

JSF/面孔:

<p:tree ...>
    <p:ajax event="expand" listener="#{backing.nodeExpand}" />
    <p:ajax event="collapse" listener="#{backing.nodeCollapse}" />
...
</p:tree>

Java/支持:

public void nodeExpand(NodeExpandEvent event) {
    event.getTreeNode().setExpanded(true);      
}

public void nodeCollapse(NodeCollapseEvent event) {
    event.getTreeNode().setExpanded(false);     
}
于 2015-01-14T12:25:14.503 回答
1

根据PrimeFaces Tree Events Showcase,您忘记使用更新语句。

于 2015-02-12T18:50:04.353 回答
1

If you try call any action or actionListener inside the tree you need expend all node and parents, with you don't do you this only don't work and don't show any error.

node.setExpanded(true);
node.getParent().setExpanded(true);
于 2015-05-13T01:53:16.483 回答