избегайте узлов p: treeTable для сворачивания после обновления
у меня есть p:treeTable
в форме и p:dialog
в другой форме, где с p:dialog
Я добавляю данные в p:treeTable
на прием h:commandButton
диалога я добавляю обновление p:treeTable
in orded, чтобы увидеть добавленный узел
проблема в том, что все развернутые узлы, открытые пользователем, будут свернуты
Я нашел этот вопрос избежать коллапса p: treeTable после обновления который в вопросе, который он написал, решен, но нет ответа или решения для его вопрос!--7-->
3 ответов
чтобы избежать сворачивания или расширения, вы должны пометить свой узел на стороне java как свернутый или расширенный. Для этого просто добавьте некоторые вызовы ajax и некоторые методы прослушивателя.
JSF / Faces:
<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);
}
по данным Витрина Событий Дерева PrimeFaces вы забыли использовать инструкцию Update.
Если вы попытаетесь вызвать любое действие или actionListener внутри дерева, вам нужно израсходовать все узлы и родители, с вами этого не делать, это только не работает и не показывает никакой ошибки.
node.setExpanded(true);
node.getParent().setExpanded(true);