dataTable & subTable f:facet header/footer with paginator
dataTable & subTable f:facet header/footer without paginator
xhtml file
Code: Select all
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<ui:composition>
<h:form id="payrollForm" onkeypress="disableEnterKey(event)" >
<ui:include src="/pf_ajaxStatus.xhtml"/>
<p:messages showDetail="true" showSummary="true" />
<p:panel id="payrollPanel" styleClass="panel-title-centeralign" header="PAYROLL">
<h:panelGroup layout="block" style="width: 100% !important; text-align: center !important;" >
<h:panelGrid columns="3" width="100%" style="text-align: center !important;" >
<h:panelGrid columns="2">
<h:outputText value="Driver" />
<p:selectOneMenu id="filterDriver" value="#{pf_ordersController.filterDriver}">
<f:selectItem itemLabel="Select One" itemValue="0" />
<f:selectItems value="#{pf_driverController.itemsAvailableSelectOne}"
var="selectOneDriver" itemLabel="#{selectOneDriver.driverName}" itemValue="#{selectOneDriver.driverId}"/>
<p:ajax listener="#{pf_ordersController.filterDriverSelected}" update=":pageContentPanel"/>
</p:selectOneMenu>
</h:panelGrid>
<h:panelGrid columns="2">
<h:outputLabel value="Pay Period Begin:" />
<p:calendar id="filterTripDateFrom" value="#{pf_ordersController.filterTripDateFrom}"
mode="popup" showOn="button" navigator="true" effect="fadeIn" pattern="MM/dd/yyyy" size="12">
<p:ajax event="dateSelect" listener="#{pf_ordersController.filterTripDateFromSelected}" update=":pageContentPanel" />
</p:calendar>
</h:panelGrid>
<h:panelGrid columns="2">
<h:outputLabel value="Pay Period End:" />
<p:calendar id="filterTripDateTo" value="#{pf_ordersController.filterTripDateTo}"
mode="popup" showOn="button" navigator="true" effect="fadeIn" pattern="MM/dd/yyyy" size="12">
<p:ajax event="dateSelect" listener="#{pf_ordersController.filterTripDateToSelected}" update=":pageContentPanel" />
</p:calendar>
</h:panelGrid>
</h:panelGrid>
</h:panelGroup>
<p:dataTable id="payrollDataTable" var="driver" value="#{pf_ordersController.driverPayrollList}"
paginator="true" rows="1" rowsPerPageTemplate="1,10,25,50,100"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}">
<f:facet name="header">
<h:panelGroup layout="block">
<p:commandButton value="Filter" image="ui-icon-search"
actionListener="#{pf_ordersController.prepareList}" update=":pageContentPanel"/>
<p:commandButton value="Clear Filter"
actionListener="#{pf_ordersController.clearFilter}" update=":pageContentPanel"/>
</h:panelGroup>
</f:facet>
<p:columnGroup type="header">
<p:row>
<p:column headerText="Driver"/>
<p:column colspan="5" headerText="" />
<p:column colspan="3" headerText="Miles" />
<p:column colspan="3" headerText="Hours" />
<p:column colspan="1" headerText="" />
</p:row>
<p:row>
<p:column headerText="Trip Date" />
<p:column headerText="Destination" />
<p:column headerText="Customer" />
<p:column headerText="Service" />
<p:column headerText="Order #" />
<p:column headerText="Gratuity" />
<p:column headerText="Live" />
<p:column headerText="Dead" />
<p:column headerText="Total" />
<p:column headerText="Days" />
<p:column headerText="Hrs/Day" />
<p:column headerText="Total" />
<p:column headerText="Pay By" />
</p:row>
</p:columnGroup>
<p:subTable var="order" value="#{driver.orders}">
<f:facet name="header">
#{driver.driver} (#{driver.rowNumber} of #{pf_ordersController.driverPayrollList.size()})
</f:facet>
<p:column>
<h:outputText escape="false" value="#{order.tripDate}" />
</p:column>
<p:column>
<h:outputText escape="false" value="#{order.destination}" />
</p:column>
<p:column>
<h:outputText value="#{order.customer}" />
</p:column>
<p:column>
<h:outputText escape="false" value="#{order.service}" />
</p:column>
<p:column style="text-align: center !important;">
<h:outputText escape="false" value="#{order.orderNumber}">
<f:convertNumber minIntegerDigits="4" groupingUsed="false" integerOnly="true" type="number"/>
</h:outputText>
</p:column>
<p:column style="text-align: right !important;">
<h:outputText escape="false" value="#{order.gratuity}">
<f:convertNumber minFractionDigits="2" type="number"/>
</h:outputText>
</p:column>
<p:column style="text-align: right !important;">
<h:outputText escape="false" value="#{order.liveMiles}">
<f:convertNumber minFractionDigits="2" type="number"/>
</h:outputText>
</p:column>
<p:column style="text-align: right !important;">
<h:outputText escape="false" value="#{order.deadMiles}">
<f:convertNumber minFractionDigits="2" type="number"/>
</h:outputText>
</p:column>
<p:column style="text-align: right !important;">
<h:outputText escape="false" value="#{order.totalMiles}">
<f:convertNumber minFractionDigits="2" type="number"/>
</h:outputText>
</p:column>
<p:column style="text-align: right !important;">
<h:outputText escape="false" value="#{order.nbrOfDays}" />
</p:column>
<p:column style="text-align: right !important;">
<h:outputText escape="false" value="#{order.hoursPerDay}" />
</p:column>
<p:column style="text-align: right !important;">
<h:outputText escape="false" value="#{order.totalHours}">
<f:convertNumber minFractionDigits="2" type="number"/>
</h:outputText>
</p:column>
<p:column>
<h:outputText escape="false" value="#{order.payBy}" />
</p:column>
</p:subTable>
<f:facet name="footer">
<h:panelGroup layout="block">
<p:commandButton value="Filter" image="ui-icon-search"
actionListener="#{pf_ordersController.prepareList}" update=":pageContentPanel"/>
<p:commandButton value="Clear Filter"
actionListener="#{pf_ordersController.clearFilter}" update=":pageContentPanel"/>
</h:panelGroup>
</f:facet>
</p:dataTable>
</p:panel>
</h:form>
<script language="JavaScript">
function disableEnterKey(e)
{
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
if(key == 13)
return false;
else
return true;
}
</script>
</ui:composition>
</html>
http://code.google.com/p/primefaces/iss ... il?id=2972