Note that there are some explanatory texts on larger screens.

plurals
  1. POPrimeFaces Tree component, setting selected node from managed bean
    text
    copied!<p>I'm running Primefaces 3.2 and JSF 2.0 on Glassfish 3.</p> <p>I've tried a lot, to programatically set the selected node from a managed bean. That includes setting the selected node like this:</p> <pre><code>public void setSelectedTreeNode(String name) { TreeNode root = treeBean.getRoot(); List&lt;TreeNode&gt; tree = root.getChildren(); for(TreeNode node:tree) { if(node.getData().toString().contains(name)) { System.out.println("found the node to select"); treeBean.setSelectedNode(node); break; } } RequestContext context = RequestContext.getCurrentInstance(); context.update(":navForm:treeSingle"); } </code></pre> <p>The "found the node to select" gets printed in the terminal, but the node is not selected in the Tree in the web page..</p> <p>The tree is like this:</p> <pre><code>&lt;h:form id="navForm"&gt; &lt;p:tree id="treeSingle" value="#{treeBean.root}" var="node" selectionMode="single" styleClass="treeStyle" selection="#{treeBean.selectedNode}" cache="false" &gt; &lt;p:ajax event="select" listener="#{treeBean.onNodeSelect}" update=":mainForm" /&gt; &lt;p:treeNode&gt; &lt;h:outputText value="#{node}" escape="false" /&gt; &lt;/p:treeNode&gt; </code></pre> <p> </p> <p>Edit: TreeBean is built like this:</p> <pre><code>@ManagedBean @SessionScoped public class TreeBean implements Serializable { private TreeNode root; private TreeNode selectedNode; public TreeBean() { root = new DefaultTreeNode("Root", null); TreeNode node0 = new DefaultTreeNode("Node 0", root); TreeNode node1 = new DefaultTreeNode("Node 1", root); TreeNode node2 = new DefaultTreeNode("Node 2", root); TreeNode node00 = new DefaultTreeNode("Node 0.0", node0); TreeNode node01 = new DefaultTreeNode("Node 0.1", node0); TreeNode node10 = new DefaultTreeNode("Node 1.0", node1); TreeNode node11 = new DefaultTreeNode("Node 1.1", node1); TreeNode node000 = new DefaultTreeNode("Node 0.0.0", node00); TreeNode node001 = new DefaultTreeNode("Node 0.0.1", node00); TreeNode node010 = new DefaultTreeNode("Node 0.1.0", node01); TreeNode node100 = new DefaultTreeNode("Node 1.0.0", node10); } public TreeNode getRoot() { return root; } public TreeNode getSelectedNode() { return selectedNode; } public void setSelectedNode(TreeNode selectedNode) { this.selectedNode = selectedNode; } } </code></pre> <p>Does anyone have any idea on how to do this?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload