web-dev-qa-db-fra.com

Comment personnaliser la pagination depuis PrimeFaces datatable

Je souhaite personnaliser PrimeFace la pagination du tableau de données.

Il affiche actuellement le nombre de pages en bas sous la forme: (1 of 5). Je souhaite afficher le nombre d'enregistrements sur une page par rapport au nombre total d'enregistrements, tels que: (1-10 of 50).

J'ai inclus mon code ci-dessous - mais cela ne fonctionne pas. Quelqu'un pourrait-il s'il vous plaît aider?

<p:dataTable id="tblStatusSearch" var="item" rowIndexVar="rowStatusSearch"      
    rows="10" paginator="true"  
    paginatorTemplate="{CurrentPageReport}  
    {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} "
    value="#{StatusAction.listEBeans}"

<f:facet name="footer"> 
    <h:outputText value="#{rowStatusSearch + 1} - 10 out of #{bondLocationStatusAction.itemCount}"/>
</f:facet>
10
suga

Vous pouvez utiliser une PrimeFaces currentPageReportTemplate pour le CurrentPageReport comme ceci:

<p:dataTable id="tblStatusSearch" var="item" paginator="true" rows="10"
    currentPageReportTemplate="Showing {startRecord}-{endRecord} out of {totalRecords}"
    paginatorTemplate="{CurrentPageReport}  
{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} "
    value="#{StatusAction.listEBeans}">

Je confirme que cela fonctionne dans PrimeFaces 3.4.2. Il est présent dans le guide de l’utilisateur de PrimeFaces 3.0. Par conséquent, si vous utilisez PrimeFaces 3.x, il devrait fonctionner pour vous.

25
Seitaridis

Cela résoudra votre objectif, je pense.

<p:dataTable id="datatable" var="car" value="#{myBean.cars}" paginator="true" rows="10"  
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {CurrentPageReport}"
currentPageReportTemplate="{startRecord} - {endRecord} of {totalRecords}">
<p:column...../>
<p:column...../>
</p:datatable>    

Au lieu de {CurrentPageReport}, vous pourrez voir ce que vous recherchez.

2
umeshfadadu

"please refer to the attached image" Je pense que vous avez oublié d'attacher une image;)

Si vous souhaitez afficher la taille de la page dans votre p:datatable, vous devez déclarer deux champs dans votre bean et conserver les arguments pageSize et first dans la méthode load, alors vous pouvez afficher la taille de la page avec la variable paginatorTemplate suivante:

paginatorTemplate=" {CurrentPageReport} #{yourBean.first + yourBean.pageSize} and rest of you template "

rappelez-vous que EL fonctionne dans la propriété paginatorTemplate.

0
Heidarzadeh