Can someone check if reorder is working for the header (p:headerRow)
I got the following issue:
java.lang.NumberFormatException: For input string: ""
Reordering for the columns inside a group is working....
Here my code:
Code: Select all
<p:dataTable id="mandatoryObjectBookingListDatatable"
value="#{mandatoryObjectBookingRequestByProjectController.lazyModel}"
var="mandatoryObjectBooking"
widgetVar="mandatoryObjectBookingTable" multiViewState="true"
resizableColumns="true" editable="true" editMode="cell"
sortBy="#{mandatoryObjectBooking.mandatoryObjectBookingGroup.ordering}"
selection="#{mandatoryObjectBookingRequestByProjectController.selectedMandatoryObjectBookingList}"
filteredValue="#{mandatoryObjectBookingRequestByProjectController.filteredMandatoryObjectBooking}"
rows="50" pageLinks="10" paginatorPosition="bottom"
lazy="true" paginator="true" reflow="true"
rowSelectMode="add"
currentPageReportTemplate="(Eintrag: {startRecord}-{endRecord} von {totalRecords}, Seite: {currentPage} von {totalPages})"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="50,100,200"
paginatorAlwaysVisible="false" expandableRowGroups="true"
draggableRows="true" emptyMessage="Keine Buchungen gefunden">
<f:facet name="header">
<p:outputPanel id="functionalityPanel"
style="float:left; margin-top: -3px">
<p:menuButton icon="fa fa-ellipsis-h">
<p:menuitem value="Materialgruppe hinzufügen"
actionListener="#{mandatoryObjectBookingRequestByProjectController.doAddMandatoryObjectBookingGroup}"
update=":growl, :projectTab:mandatoryObjectBookingListForm:mandatoryObjectBookingListDatatable"
icon="fa fa-plus-circle" />
<p:menuitem value="Löschen"
actionListener="#{mandatoryObjectBookingRequestByProjectController.doDeleteMandatoryObjectBooking(mandatoryObjectBooking)}"
update=":growl, :projectTab:mandatoryObjectBookingListForm:mandatoryObjectBookingListDatatable"
icon="fa fa-trash" />
</p:menuButton>
</p:outputPanel>
<h:outputText id="overviewText"
value="Übersicht (#{mandatoryObjectBookingRequestByProjectController.numberTotal})" />
<p:tooltip for="overviewText" position="top"
value="Die Gesamtzahl der Filterung" />
<p:outputPanel style="float:right; margin-top: -3px">
<p:commandButton id="toggler" type="button"
styleClass="Fs13 White" icon="fa fa-list" />
<p:tooltip for="toggler" value="Spalten ein-/ ausblenden"
position="top" />
<p:columnToggler
datasource="mandatoryObjectBookingListDatatable"
trigger="toggler" />
</p:outputPanel>
</f:facet>
<p:ajax event="toggleSelect" ajax="true" immediate="true"
global="false"
update=":projectTab:mandatoryObjectBookingListForm:mandatoryObjectBookingListDatatable:functionalityPanel" />
<p:ajax event="rowSelectCheckbox" ajax="true"
immediate="true" global="false"
listener="#{mandatoryObjectBookingRequestByProjectController.onSelectMandatoryObjectBooking}"
update=":projectTab:mandatoryObjectBookingListForm:mandatoryObjectBookingListDatatable:functionalityPanel" />
<p:ajax event="rowUnselectCheckbox" ajax="true"
global="false" immediate="true"
listener="#{mandatoryObjectBookingRequestByProjectController.onUnSelectMandatoryObjectBooking}"
update=":projectTab:mandatoryObjectBookingListForm:mandatoryObjectBookingListDatatable:functionalityPanel" />
<p:ajax event="rowSelect" ajax="true" immediate="true"
global="false"
listener="#{mandatoryObjectBookingRequestByProjectController.onSelectMandatoryObjectBooking}"
update=":projectTab:mandatoryObjectBookingListForm:mandatoryObjectBookingListDatatable:functionalityPanel" />
<p:ajax event="rowUnselect" ajax="true" immediate="true"
global="false"
listener="#{mandatoryObjectBookingRequestByProjectController.onUnSelectMandatoryObjectBooking}"
update=":projectTab:mandatoryObjectBookingListForm:mandatoryObjectBookingListDatatable:functionalityPanel" />
<p:ajax event="cellEdit" update=":growl" global="false"
listener="#{mandatoryObjectBookingRequestByProjectController.onCellEdit(mandatoryObjectBooking)}" />
<p:headerRow>
<p:column colspan="8">
<h:outputText
value="#{mandatoryObjectBooking.mandatoryObjectBookingGroup.name}" />
</p:column>
</p:headerRow>
<p:column selectionMode="multiple" toggleable="false"
style="width:16px;text-align:center" />
<p:column visible="true" style="width: 10px;"
toggleable="false">
<p:outputPanel id="mandatoryArticleName"
rendered="#{mandatoryObjectBooking.mandatoryArticle != null and mandatoryObjectBooking.type == 'ITEM'}">
<i class="fa fa-shopping-basket Fs12"></i>
<p:tooltip for="mandatoryArticleName" value="Artikel"
style="margin-right: 5px;" />
</p:outputPanel>
<p:outputPanel id="mandatoryEquipmentName"
rendered="#{mandatoryObjectBooking.mandatoryEquipment != null and mandatoryObjectBooking.type == 'ITEM'}">
<i class="fa fa-plus-square Fs12"></i>
<p:tooltip for="mandatoryEquipmentName" value="Equipment"
style="margin-right: 5px;" />
</p:outputPanel>
<p:outputPanel id="mandatoryEquipmentSetName"
rendered="#{mandatoryObjectBooking.mandatoryEquipmentSet != null and mandatoryObjectBooking.type == 'ITEM'}">
<i class="fa fa-sitemap Fs12"></i>
<p:tooltip for="mandatoryEquipmentSetName"
value="Equipment Set" style="margin-right: 5px;" />
</p:outputPanel>
<p:outputPanel id="mandatoryCaseName"
rendered="#{mandatoryObjectBooking.mandatoryCase != null and mandatoryObjectBooking.type == 'ITEM'}">
<i class="fa fa-archive Fs12"></i>
<p:tooltip for="mandatoryCaseName" value="Case"
style="margin-right: 5px;" />
</p:outputPanel>
<p:outputPanel id="mandatoryArticleUnitName"
rendered="#{mandatoryObjectBooking.mandatoryArticleUnit != null and mandatoryObjectBooking.type == 'ITEM'}">
<i class="fa fa-shopping-bag Fs12"></i>
<p:tooltip for="mandatoryArticleUnitName" value="Anlage"
style="margin-right: 5px;" />
</p:outputPanel>
<p:outputPanel id="freeText"
rendered="#{mandatoryObjectBooking.type == 'FREE_TEXT'}">
<i class="fa fa-comment Fs12"></i>
<p:tooltip for="freeText" value="Freitext"
style="margin-right: 5px;" />
</p:outputPanel>
<p:outputPanel id="tempProduct"
rendered="#{mandatoryObjectBooking.type == 'TEMP_PRODUCT'}">
<i class="fa fa-question-circle Fs12"></i>
<p:tooltip for="tempProduct" value="Temporäres Produkt"
style="margin-right: 5px;" />
</p:outputPanel>
</p:column>
<p:column sortBy="#{mandatoryObjectBooking.name}"
visible="true">
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{mandatoryObjectBooking.name}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{mandatoryObjectBooking.name}"
required="true" style="width:96%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column sortBy="#{mandatoryObjectBooking.quantity}"
visible="true">
<f:facet name="header">
<h:outputText value="Anzahl" />
</f:facet>
<p:cellEditor rendered="#{mandatoryObjectBooking.type == 'ITEM' or mandatoryObjectBooking.type == 'TEMP_PRODUCT'}">
<f:facet name="output">
<h:outputText value="#{mandatoryObjectBooking.quantity}">
<f:convertNumber integerOnly="true" />
</h:outputText>
</f:facet>
<f:facet name="input">
<p:inputNumber value="#{mandatoryObjectBooking.quantity}"
required="true" style="width:96%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column sortBy="#{mandatoryObjectBooking.price}"
visible="true">
<f:facet name="header">
<h:outputText value="Einzelpreis" />
</f:facet>
<p:cellEditor rendered="#{mandatoryObjectBooking.type == 'ITEM' or mandatoryObjectBooking.type == 'TEMP_PRODUCT'}">
<f:facet name="output">
<h:outputText value="#{mandatoryObjectBooking.price}">
<f:convertNumber type="number" groupingUsed="true"
minFractionDigits="2" maxFractionDigits="2" />
</h:outputText>
<h:outputText
value=" #{mandatoryObjectBookingRequestByProjectController.mandatoryCurrency.isoCode}" />
</f:facet>
<f:facet name="input">
<p:inputNumber value="#{mandatoryObjectBooking.price}"
minValue="0" decimalPlaces="2" symbolPosition="s"
symbol=" #{mandatoryObjectBookingRequestByProjectController.mandatoryCurrency.isoCode}"
required="true" style="width:96%" />
<h:outputText
value=" #{mandatoryObjectBookingRequestByProjectController.mandatoryCurrency.isoCode}" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column sortBy="#{mandatoryObjectBooking.discount}"
visible="true">
<f:facet name="header">
<h:outputText value="Rabatt" />
</f:facet>
<p:cellEditor rendered="#{mandatoryObjectBooking.type == 'ITEM' or mandatoryObjectBooking.type == 'TEMP_PRODUCT'}">
<f:facet name="output">
<h:outputText value="#{mandatoryObjectBooking.discount}">
<f:convertNumber />
</h:outputText>
<h:outputText value=" %" />
</f:facet>
<f:facet name="input">
<p:inputNumber value="#{mandatoryObjectBooking.discount}"
minValue="0" decimalPlaces="2" symbol=" %"
symbolPosition="s" required="true" style="width:96%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column sortBy="#{mandatoryObjectBooking.discount}"
visible="true">
<f:facet name="header">
<h:outputText value="Faktor" />
</f:facet>
<p:cellEditor rendered="#{mandatoryObjectBooking.type == 'ITEM' or mandatoryObjectBooking.type == 'TEMP_PRODUCT'}">
<f:facet name="output">
<h:outputText value="#{mandatoryObjectBooking.factor}">
<f:convertNumber />
</h:outputText>
</f:facet>
<f:facet name="input">
<p:inputNumber value="#{mandatoryObjectBooking.factor}"
required="true" style="width:96%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column sortBy="#{mandatoryObjectBooking.startDate}"
visible="false">
<f:facet name="header">
<h:outputText value="Startdatum" />
</f:facet>
<h:outputText value="#{mandatoryObjectBooking.startDate}">
<f:convertDateTime type="date"
pattern="#{loginBean.currentUser.dateFormat}" />
</h:outputText>
<h:outputText value=" um "
rstartered="#{mandatoryObjectBooking.startDate != null}" />
<h:outputText value="#{mandatoryObjectBooking.startDate}">
<f:convertDateTime type="date"
pattern="#{loginBean.currentUser.timeFormat}" />
</h:outputText>
<h:outputText value=" Uhr"
rstartered="#{mandatoryObjectBooking.startDate != null}" />
</p:column>
<p:column sortBy="#{mandatoryObjectBooking.endDate}"
visible="false">
<f:facet name="header">
<h:outputText value="Enddatum" />
</f:facet>
<h:outputText value="#{mandatoryObjectBooking.endDate}">
<f:convertDateTime type="date"
pattern="#{loginBean.currentUser.dateFormat}" />
</h:outputText>
<h:outputText value=" um "
rendered="#{mandatoryObjectBooking.endDate != null}" />
<h:outputText value="#{mandatoryObjectBooking.endDate}">
<f:convertDateTime type="date"
pattern="#{loginBean.currentUser.timeFormat}" />
</h:outputText>
<h:outputText value=" Uhr"
rendered="#{mandatoryObjectBooking.endDate != null}" />
</p:column>
<p:column sortBy="#{mandatoryObjectBooking.createDate}"
visible="false">
<f:facet name="header">
<h:outputText value="Erstellungsdatum" />
</f:facet>
<h:outputText value="#{mandatoryObjectBooking.createDate}">
<f:convertDateTime type="date"
pattern="#{loginBean.currentUser.dateFormat}" />
</h:outputText>
<h:outputText value=" um "
rendered="#{mandatoryObjectBooking.createDate != null}" />
<h:outputText value="#{mandatoryObjectBooking.createDate}">
<f:convertDateTime type="date"
pattern="#{loginBean.currentUser.timeFormat}" />
</h:outputText>
<h:outputText value=" Uhr"
rendered="#{mandatoryObjectBooking.createDate != null}" />
</p:column>
<p:column style="width: 15px;" visible="true">
<div align="center">
<p:commandButton id="deleteButton" icon="fa fa-trash"
style="padding-left:5px; padding-right:5px"
update=":growl, :projectTab:mandatoryObjectBookingListForm:mandatoryObjectBookingListDatatable"
styleClass="RedButton" title="Löschen"
actionListener="#{mandatoryObjectBookingRequestByProjectController.doDeleteMandatoryObjectBooking(mandatoryObjectBooking)}"
ajax="true">
</p:commandButton>
<p:tooltip for="deleteButton" position="top"
value="Löschen" />
</div>
</p:column>
</p:dataTable>