DataTable Agrupados y rowExpansion
Last updated
Was this helpful?
Last updated
Was this helpful?
Si deseamos agrupar columnas de un datatable como por ejemplo:
Si deseamos ver las columnas expandidas
<p:dataTable value="#{solicitudDocenteController.disponiblesBeansList}"
id="datatableDisponibles"
var="item" >
<f:facet name="header">
<p:outputLabel value="#{msg['tabletitle.vehiculos']}" />
</f:facet>
<p:columnGroup type="header">
<p:row>
<p:column rowspan="1" style="width:95px" headerText="#{msg['field.fecha']}" />
<p:column colspan="1" style="width:95px" headerText="#{msg['field.tipovehiculo']}" />
<p:column colspan="5" headerText="#{msg['tabletitle.resultado']}" />
</p:row>
<p:row>
<p:column headerText="" />
<p:column headerText="" />
<p:column colspan="2" headerText="#{msg['tabletitle.disponibles']}" />
<p:column colspan="3" headerText="#{msg['tabletitle.solicitados']}" />
<p:column colspan="1" headerText="#{msg['tabletitle.recomendados']}" />
</p:row>
<p:row>
<p:column headerText="" />
<p:column headerText="" />
<p:column headerText="#{msg['field.vehiculos']}" />
<p:column headerText="#{msg['field.pasajeros']}" />
<p:column headerText="#{msg['field.vehiculos']}" />
<p:column headerText="#{msg['field.pasajeros']}" />
<p:column headerText="#{msg['field.recomendados']}" />
</p:row>
</p:columnGroup>
<p:column style="width:95px">
<p:rowToggler />
<h:outputText value="#{solicitudDocenteController.showDate(item.fechahorainicio)}" style="color: #{solicitudDocenteController.disponiblesServices.columnColorDisponibles(item)}" />
</p:column>
<p:column headerText="#{msg['field.tipovehiculo']}" style="width:95px">
<h:outputText value="#{solicitudDocenteController.disponiblesServices.showTipovehiculo(item)}" style="color: #{solicitudDocenteController.disponiblesServices.columnColorDisponibles(item)}" />
</p:column>
<p:column headerText="#{msg['field.disponible']}" style="width:75px">
<p:outputLabel value="#{item.numeroBuses}" style="color: #{solicitudDocenteController.disponiblesServices.columnColorDisponibles(item)}" />
</p:column>
<p:column headerText="#{msg['field.pasajeros']}" style="width:75px">
<p:outputLabel value="#{item.numeroPasajeros}" style="color: #{solicitudDocenteController.disponiblesServices.columnColorDisponibles(item)}" />
</p:column>
<p:column headerText="#{msg['field.solicitado']}" style="width:75px">
<p:outputLabel value="#{item.numeroVehiculosSolicitados}" style="color: #{solicitudDocenteController.disponiblesServices.columnColorDisponibles(item)}" />
</p:column>
<p:column headerText="#{msg['field.pasajeros']}" style="width:75px">
<p:outputLabel value="#{item.numeroPasajerosSolicitados}" style="color: #{solicitudDocenteController.disponiblesServices.columnColorDisponibles(item)}" />
</p:column>
<p:column headerText="#{msg['field.vehiculosRecomendados']}" style="width:75px">
<p:outputLabel value="#{item.busesRecomendados}" style="color: #{solicitudDocenteController.disponiblesServices.columnColorDisponibles(item)}" />
</p:column>
<p:rowExpansion>
<p:dataTable value ="#{item.vehiculo}" var="car">
<p:column headerText="#{msg['field.marca']}">
<p:outputLabel value="#{car.marca}"/>
</p:column>
<p:column headerText="#{msg['field.modelo']}">
<p:outputLabel value="#{car.modelo}"/>
</p:column>
<p:column headerText="#{msg['field.placa']}">
<p:outputLabel value="#{car.placa}"/>
</p:column>
<p:column headerText="#{msg['field.pasajeros']}">
<p:outputLabel value="#{car.pasajeros}"/>
</p:column>
</p:dataTable>
</p:rowExpansion>
</p:dataTable>