Senhores, estou fazendo um tela onde preciso rederizar dinamicamente uns selectOneRadio.
Tenho uma tabela com uma alto relacionamento e preciso fazer uma tela para que quando o usuário clicar na raiz da arvoré (radio) o sistema irá carregar os proximos filhos e renderizar em baixo todos esses filhos como Radio Buttons.
Tudo esta funcionando menos a reRenderização do componente para que possa mostrar os filhos que foram carregados
Esse carregamento e renderização é feito via bingin like this:
<h:panelGroup binding="#{processoBean.painelTipoMovimentacaoDinamico}"/>
Componente
UIOutput verbatim = (UIOutput) application.createComponent("javax.faces.Output");
verbatim.setRendererType("javax.faces.Text");
verbatim.getAttributes().put("escape", Boolean.FALSE);
verbatim.setId("verbatimName_" + RandomAlphaNumeric.randomString(6));
verbatim.setValue("<div class=\"nivel_2\">");
painelTipoMovimentacaoDinamico.getChildren().add(verbatim);
HtmlSelectOneRadio htmlSelectOneRadio = new HtmlSelectOneRadio();
htmlSelectOneRadio.setId("radio_" + RandomAlphaNumeric.randomString(6));
htmlSelectOneRadio.setStyleClass("selectOneRadio");
htmlSelectOneRadio.setLayout("pageDirection");
ValueBinding vb = application.createValueBinding("#{processoBean.tipoMovimentacaoSelecionada}");
htmlSelectOneRadio.setValueBinding("value", vb);
verbatim = (UIOutput) application.createComponent("javax.faces.Output");
verbatim.setRendererType("javax.faces.Text");
verbatim.getAttributes().put("escape", Boolean.FALSE);
verbatim.setId("verbatimName_" + RandomAlphaNumeric.randomString(6));
verbatim.setValue("<div class=\"n_field2\">");
htmlSelectOneRadio.getChildren().add(verbatim);
UISelectItems radioBtnOptions = new UISelectItems();
radioBtnOptions.setId("items_" + RandomAlphaNumeric.randomString(6));
radioBtnOptions.setValue(getFilhosTipoMovimentacaoSelect(listFilhos));
htmlSelectOneRadio.getChildren().add(radioBtnOptions);
HtmlAjaxSupport ajaxSupport = (HtmlAjaxSupport)application.createComponent(HtmlAjaxSupport.COMPONENT_TYPE);
ajaxSupport.setEvent("onclick");
ajaxSupport.setAjaxSingle(false);
ajaxSupport.setReRender("form:thiago_sampaio");
ajaxSupport.setId("ajaxSupport_"+ RandomAlphaNumeric.randomString(6));
htmlSelectOneRadio.getChildren().add(ajaxSupport);
verbatim = (UIOutput) application.createComponent("javax.faces.Output");
verbatim.setRendererType("javax.faces.Text");
verbatim.getAttributes().put("escape", Boolean.FALSE);
verbatim.setId("verbatimName_" + RandomAlphaNumeric.randomString(6));
verbatim.setValue("</div>");
htmlSelectOneRadio.getChildren().add(verbatim);
verbatim = (UIOutput) application.createComponent("javax.faces.Output");
verbatim.setRendererType("javax.faces.Text");
verbatim.getAttributes().put("escape", Boolean.FALSE);
verbatim.setId("verbatimName_" + RandomAlphaNumeric.randomString(6));
verbatim.setValue("<div class=\"clear\"></div>");
htmlSelectOneRadio.getChildren().add(verbatim);
htmlSelectOneRadio.getChildren().add(verbatim);
painelTipoMovimentacaoDinamico.getChildren().add(htmlSelectOneRadio);
verbatim = (UIOutput) application.createComponent("javax.faces.Output");
verbatim.setRendererType("javax.faces.Text");
verbatim.getAttributes().put("escape", Boolean.FALSE);
verbatim.setId("verbatimName_" + RandomAlphaNumeric.randomString(6));
verbatim.setValue("</div>");
painelTipoMovimentacaoDinamico.getChildren().add(verbatim);
verbatim = (UIOutput) application.createComponent("javax.faces.Output");
verbatim.setRendererType("javax.faces.Text");
verbatim.getAttributes().put("escape", Boolean.FALSE);
verbatim.setId("verbatimName_" + RandomAlphaNumeric.randomString(6));
verbatim.setValue("<span class=\"footer\"></span>");
painelTipoMovimentacaoDinamico.getChildren().add(verbatim);