0 Replies Latest reply on May 24, 2011 1:23 PM by Carlos Carpio

    rich:tree with selectbooleancheckbox

    Carlos Carpio Newbie

      Hi, I'm developing a web app and I want a tree where I can put a checkbox for every node (childnodes only actually), this I have been able to achive (kind of) but now I need to save those checked nodes to a DB but I don't know how to set this to my backing bean.


      Can anyone help me please??


      Here is my tree:


      <rich:tree id="tree" ajaxSubmitSelection="true" switchType="client" value="#{backingBean.rootNode}" var="node">




                <h:outputText value="#{node}"/>


                <h:selectBooleanCheckbox value="#{backingBean.checked[node]}"/>






      The checked property is a map to join the options with a boolean for the selectbooleancheckbox


      this is what I have in my bean:


          public class BackingBean{


                private TreeNode<String> rootNode = new TreeNodeImpl<String>();


                private Map<Integer, Boolean> checked = new HashMap<Integer, Boolean>();


                TreeNodeImpl<String> childNode[] = new TreeNodeImpl[opciones.size()];




                for (int i = 0; i < options.size(); i++){


                      optionsMenu[i] = options.get(i);


                      childNode[i] = new TreeNodeImpl<String>();






                      rootNode.addChild("0"+i, childNode[i]);




                      List<OptionMenu> op = optionMenuService.findOptionsTree(i+1);




                          OptionMenu[] optionsMenu1 = new OptionMenu[op.size()];


                          TreeNodeImpl<String> childNode1[] = new TreeNodeImpl[op.size()];


                          for(int a=0;a < op.size();a++){


                              optionsMenu1[a] = op.get(a);


                              childNode1[a] = new TreeNodeImpl<String>();






                              childNode[i].addChild("0"+a, childNode1[a]);










      Any help will be apreciated


      thanks in advance