1.7 <p:selectOneMenu> eventos en list.xhtml
Cuando usamos un <p:selectOneMenu en el list.xhtml deseamos hacer un filtro y actualizar el datatable con el filtro creado, recuerde que en el list.xhtml necesitamos invocar el método move() con lo que es necesario guardar el search y el valor para luego realizar la operación.

Definimos el selectOneMenu
<b:panelGrid colSpans="2,4,2,4" columns="4" size="xs">
<p:outputLabel value="#{msg['field.secretarioadministrativo']}"/>
<p:selectOneMenu id="secretarioadministrativo" value="#{secretarioAdministrativoController.vistoBuenoSecretarioAdministrativoSearch}" style="width:150px">
<p:ajax listener="#{secretarioAdministrativoController.onVistoBuenoChangeSecretarioAdministrativo}" update=":form:dataTable" />
<f:selectItem itemLabel="#{msg['selectitem.seleccione']}" itemValue="" noSelectionOption="true" />
<f:selectItem itemLabel="#{msg['selectitem.pendiente']}" itemValue="pe" />
<f:selectItem itemLabel="#{msg['selectitem.aprobado']}" itemValue="si" />
<f:selectItem itemLabel="#{msg['selectitem.noaprobado']}" itemValue="no" />
</p:selectOneMenu>
<p:outputLabel value="#{msg['field.coordinador']}"/>
<p:selectOneMenu id="coordinador" value="#{secretarioAdministrativoController.vistoBuenoSearch}" style="width:150px">
<p:ajax listener="#{secretarioAdministrativoController.onVistoBuenoChange}" update=":form:dataTable" />
<f:selectItem itemLabel="#{msg['selectitem.seleccione']}" itemValue="" noSelectionOption="true" />
<f:selectItem itemLabel="#{msg['selectitem.pendiente']}" itemValue="pe" />
<f:selectItem itemLabel="#{msg['selectitem.aprobado']}" itemValue="si" />
<f:selectItem itemLabel="#{msg['selectitem.noaprobado']}" itemValue="no" />
</p:selectOneMenu>En el Controller definir
Atributos para las búsquedas
Definir los eventos e invocar el metodo setSearchAndValue(). Recuerde que este método esta definido en el framework.
En el metodo move() implementamos la búsqueda recuperando los valores del search y el searchValue
Last updated
Was this helpful?