<p:datatable> expandableRowGroups

Con el parametro expandableRowGroups podemos colapsar la fila de un datatable.

  • Permite agruparlos por siglas del agente.

sortBy="#{item.agente.siglas}" 
                                 expandableRowGroups="true"
@Getter
@Setter
public class Consola {
  private String titulo;
  private String nivel;
  private Agente agente;
  }

Permite que se agrupen varios registros del mismo agente para desplegarlo.

 if (horasmes != 150) {
                    Consola consola = new Consola();
                    consola.setNivel("horames");
                    consola.setAgente(reservadoagenteList.get(row).getAgente());
                    String vacaciones = "";
                    if (verificarVacacionesAgente(a)) {
                        vacaciones = " (Tiene vacaciones este mes)";
                    }
                    consola.setTitulo("De las 150 horas mensuales  tiene " + horasmes + " " + vacaciones);
                    consolaList.add(consola);
                }

                 if (numeroDiasMes == 30 && cantidad0 != 11) {
                    Consola consola = new Consola();
                    consola.setNivel("cantidadturnos");
                    consola.setAgente(reservadoagenteList.get(row).getAgente());
                    consola.setTitulo("Mes de 30 dias debe tener 11 ceros y tiene  " + (cantidad0 > numeroDiasMes ? numeroDiasMes : cantidad0));
                    consolaList.add(consola);
                }
  <p:dataTable var="item" value="#{reservadoController.consolaList}" 
                                 sortBy="#{item.agente.siglas}" 
                                 expandableRowGroups="true"


                                 rowIndexVar="rowIx"

                                 rowStyleClass="#{item.nivel eq 'reglasturnos' ? 'coloredred' : ''}"
                                 id="consola">

                        <p:headerRow>
                            <p:column >
                                <h:outputText value="#{item.agente.nombre}" />
                                <p:outputLabel value=" "/>
                                <h:outputText value="(#{item.agente.siglas})" />


                            </p:column>
                        </p:headerRow>




                        <p:column headerText="#{msg['field.titulo']}">
                            <h:outputText value="#{item.titulo}" />
                        </p:column>

                    </p:dataTable>

Colapsada

Expandida

Last updated