PrimeFaces Tree component, setting selected node from managed bean

前端 未结 7 2284
南旧
南旧 2020-12-18 20:27

I\'m running Primefaces 3.2 and JSF 2.0 on Glassfish 3.

I\'ve tried a lot, to programatically set the selected node from a managed bean. That includes setting the se

7条回答
  •  执念已碎
    2020-12-18 21:13

    To highlight selected tree node on client side from backing bean call selectNode() method on tree widget component.

    First, set widget var attribute to jsf tree component:

    Than you can test it from browser console:

    PrimeFaces.widgets.treeSingleWidget.selectNode($("#treeSingle\\:1"), true);
    

    First method argument represents node jquery object which was obtained by it`s id(colon symbol must be escaped by two backslashes). If second parameter set to false then node selection event will be fired.

    Finally, make javascript call from backing bean:

    StringBuilder sb = new StringBuilder();
        sb.append("PrimeFaces.widgets.treeSingleWidget.selectNode(");
        sb.append("$(\"#treeSingle\\\\:");
        sb.append(selectedNode.getRowKey());
        sb.append("\")");
        sb.append(", true)");
        RequestContext.getCurrentInstance().execute(sb.toString());
    

    P.S. to discover component js api type in browser console

    PrimeFaces.widget.VerticalTree.prototype
    

提交回复
热议问题