Hola. Alguien sabe como puedo acceder a los hijos que se generan dinámicamente en un rich:column de un HtmlDataTable?.
El problema es que necesito hacer una selección multiple en un rich:dataTable que me mostraria una columna con valores y otra con un HtmlSelectBooleanCheckbox.
El objetivo es saber cuando llame al "action" de un h:commandButton cuales filas estan seleccionadas...
Para tener el componente del lado del server lo referencio con binding="#{valores.tabla}", pero cuando en el action:#{valores.Verif()} busco los hijos de las columnas de mi tabla, solo me sale que existe uno, cuando en realidad se generaron 5.
O sea necesito me ayuden a saber cuales de los checkBoxs estan seleccionados.
El código XHTML es el siguiente:
//-------
<rich:dataTable value="#{valores.generar()}" var="val" width="100%" binding="#{valores.tabla}">
<rich:column width="10px;" >
<f:facet name="header">
Marcar
</f:facet>
<h:selectBooleanCheckbox />
</rich:column>
<rich:column>
<f:facet name="header">
Valores
</f:facet>
#{val}
</rich:column>
</rich:dataTable>
<div align="right">
<h:commandButton value="aki" action="#{valores.Verif()}"/>
</div>
//-------
//----- *.java
@Scope(ScopeType.SESSION)
@Name("valores")
public class Prueba
{
HtmlDataTable tabla;
public HtmlDataTable getTabla() {
return tabla;
}
public void setTabla(HtmlDataTable tabla) {
this.tabla = tabla;
}
public ArrayList<String> esta2()
{
ya=false;
ArrayList<String> aux=new ArrayList<String>();
for (int i = 0; i < 5; i++)
aux.add("valor1"+i);
return aux;
}
public void Verif()
{
List<UIComponent> child=tabla.getChildren();
/*Busco en "child" todos los hijos y no encuentro los
SelectBooleanCheckbox por ningun lado*/
//ayuda!!!
}
}
}
esta es mi vía... si alguien sabe de que otra forma podria hacerlo?
gracias de antemano.