<p:autocomplete> multiple

Reglas:

cuando utilice autocomplete múltiples debe indicar los metodos

 <p:ajax event="itemSelect" listener="#{calendarioSolicitudController.handleSelect}"
                                update="eventDetails"
                                />
<p:ajax event="itemUnselect"  listener="#{calendarioSolicitudController.handleSelect}"
update="eventDetails"
/>

Lo usamos para seleccionar varios entitys por ejemplo multiples roles para un usuario.

Tenemos un entity con un List<> @Referenced

Entity Usuario

Entity Rol

Pagina .xhtml

Dibujar el componente <p:autocomplete> en la pagina .xhtml, en el value indicar el rolList que se definió en el controller y el completeMethod al método definido en el controller.

Se debe usar el evento Ajax para que mantenga actualizada la lista.

En el controller

Crear el método completeFiltrado(), buscamos por regex en base a los caracteres y nos aseguramos que no se seleccionada previamente.

UsuarioController.java

En el mètodo init()

Cargar el rolList con la lista del entity seleccionado.

En el método prepare

Cargar rolList con los datos del entity seleccionado en la opciòn view

En el método isNew()

Limpiar rolList

Metodo save()

Asignar rolList al entity a guardar

Método edit()

Asignar el rolList al entity principalusuario.setRol(rolList);

Last updated

Was this helpful?