i'm using :
primefaces 5.3 , wildfly 13
i have dataTable , i'm using filters in two column one for dates and one for other column . the filter for date is between two dates is work good but the problem is when i export date in pdf or xml or csv fromat all column's header show good excapte the column's date header looks like
javax.faces.component.UIPanel@58b317c9 . i find the developper who create the project and this part worked with this solution :
https://stackoverflow.com/questions/237 ... erfunction .
this is my code :
Code: Select all
<p:dataTable var="a" value="#{msg_avisMB.msg_avis_list}"
emptyMessage="#{msg['tableVide']}" id="tblAvis" widgetVar="tblAvi"
paginatorTemplate="{FirstPageLink} {PageLinks} {LastPageLink} {Exporters}"
paginator="true" rows="10"
filteredValue="#{msg_avisMB.filter_msg_avis_list}">
<f:facet name="{Exporters}">
<div style="float: right;">
<h:commandLink style="margin-right:10px" process="@this">
<p:graphicImage library="images" name="excel.png" width="24" />
<p:dataExporter type="xls" target="tblAvis" fileName="avis" />
</h:commandLink>
<h:commandLink style="margin-right:10px"
process="tblTransfertsAccountToAccount">
<p:graphicImage library="images" name="pdf.png" width="24" />
<p:dataExporter type="pdf" encoding="iso-8859-1" target="tblAvis"
fileName="avis" />
</h:commandLink>
<h:commandLink style="margin-right:10px"
process="tblTransfertsAccountToAccount">
<p:graphicImage library="images" name="csv.png" width="24" />
<p:dataExporter type="csv" encoding="iso-8859-1" target="tblAvis"
fileName="avis" />
</h:commandLink>
</div>
</f:facet>
<p:column>
<f:facet name="header">
<h:outputText value="Utilisateur" />
</f:facet>
<h:outputText
value="#{a.user.civ.concat(a.user.nom).concat(' ').concat(a.user.prenom)}">
</h:outputText>
</p:column>
<p:column headerText="date message avis" sortBy="#{a.date}"
filterBy="#{a.date}"
filterFunction="#{msg_avisMB.filterByDate}">
<f:facet name="filter">
<h:inputHidden id="filter" />
</f:facet>
<f:facet name="header">
<h:outputText value="date message avis" />
<br />
<p:calendar id="from" pattern="dd-MM-yyyy" styleClass="filterDate">
<p:ajax event="dateSelect"
onstart="$(PrimeFaces.escapeClientId('#{p:component('filter')}'))[0].value = $(PrimeFaces.escapeClientId('#{p:component('from')}_input'))[0].value + '/' + $(PrimeFaces.escapeClientId('#{p:component('to')}_input'))[0].value"
oncomplete="PF('tblAvi').filter()" />
</p:calendar>
<p:calendar id="to" pattern="dd-MM-yyyy" styleClass="filterDate">
<p:ajax event="dateSelect"
onstart="$(PrimeFaces.escapeClientId('#{p:component('filter')}'))[0].value = $(PrimeFaces.escapeClientId('#{p:component('from')}_input'))[0].value + '/' + $(PrimeFaces.escapeClientId('#{p:component('to')}_input'))[0].value"
oncomplete="PF('tblAvi').filter()" />
</p:calendar>
</f:facet>
<h:outputText value="#{a.date}">
<f:convertDateTime type="date" dateStyle="medium" />
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Commentaires" />
</f:facet>
<h:outputText value="#{a.message}">
</h:outputText>
</p:column>
<p:column filterBy="#{a.niveau}" filterMatchMode="exact">
<f:facet name="header">
<h:outputText value="Niveau de 1 à 5" />
</f:facet>
<h:outputText value="#{a.niveau}">
</h:outputText>
</p:column>
</p:dataTable>
Code: Select all
<p:column headerText="date message avis" sortBy="#{a.date}"
filterBy="#{a.date}"
filterFunction="#{msg_avisMB.filterByDate}">
<f:facet name="filter">
<h:inputHidden id="filter" />
</f:facet>
<f:facet name="header">
<h:outputText value="date message avis" />
<br />
<p:calendar id="from" pattern="dd-MM-yyyy" styleClass="filterDate">
<p:ajax event="dateSelect"
onstart="$(PrimeFaces.escapeClientId('#{p:component('filter')}'))[0].value = $(PrimeFaces.escapeClientId('#{p:component('from')}_input'))[0].value + '/' + $(PrimeFaces.escapeClientId('#{p:component('to')}_input'))[0].value"
oncomplete="PF('tblAvi').filter()" />
</p:calendar>
<p:calendar id="to" pattern="dd-MM-yyyy" styleClass="filterDate">
<p:ajax event="dateSelect"
onstart="$(PrimeFaces.escapeClientId('#{p:component('filter')}'))[0].value = $(PrimeFaces.escapeClientId('#{p:component('from')}_input'))[0].value + '/' + $(PrimeFaces.escapeClientId('#{p:component('to')}_input'))[0].value"
oncomplete="PF('tblAvi').filter()" />
</p:calendar>
</f:facet>
<h:outputText value="#{a.date}">
<f:convertDateTime type="date" dateStyle="medium" />
</h:outputText>
</p:column>
this is a image for my problem :
please any help thank you.