i have a p:treeTable
in a form and a p:dialog
in another form where from p:dialog
i add data to the p:treeTable
on submit of h:commandButton
of the dialog i add update of p:treeTable
in orded to see the added node
The issue is that all expanded nodes the user has opened will all collapse
I found this question Avoiding the collapsing of p:treeTable after update which in the question he wrote solved but no answer or solution for his question
To avoid collapsing or expanding you have to mark your node on the java side as collapsed or expanded. To do that that just add some ajax calls and some listener methods.
JSF/Faces:
<p:tree ...>
<p:ajax event="expand" listener="#{backing.nodeExpand}" />
<p:ajax event="collapse" listener="#{backing.nodeCollapse}" />
...
</p:tree>
Java/Backing:
public void nodeExpand(NodeExpandEvent event) {
event.getTreeNode().setExpanded(true);
}
public void nodeCollapse(NodeCollapseEvent event) {
event.getTreeNode().setExpanded(false);
}
According to PrimeFaces Tree Events Showcase you forgot to use the update statement.
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);