2016-12-02 9 views
0

私はjsfで作業し、フィルタリングを可能にするprimefacesデータテーブルを持っています。Primefaces Datatableはフィルタリング後のすべての行をカウントします

<p:dataTable value="#{tcsInstanceBean.tcsJList}" var="return" scrollable="true" scrollHeight="550" 
        widgetVar="returnTable" 
        emptyMessage="Nothing found matching given criteria" 
        filteredValue="#{tcsInstanceBean.filteredTcsJList}" 
        styleClass="returnTable, selectable" 
        headerClass="returnTableHeader" 
        rowClasses="returnTableOddRow,returnTableEvenRow" 
        resizableColumns="true"> 

        <p:column class="returnColumn" style="width:40%;" 
         sortBy="#{return.path}" 
         filterBy="#{return.path.fileName}" 
         filterMatchMode="contains"> 
         <f:facet name="header">Job Path</f:facet> 
         <a href="file:///#{return.path}" target="_blank">#{return.path.fileName}</a> 
        </p:column> 


</p:dataTable> 

フィルタリング後に表示されるすべての合計行を出力したいとします。 現時点では、リストを数えて出力します。

jobsCounter = "We found " + tcsJList.size() + " Jobs!"; 

フィルタリングした瞬間にすべての表示行をカウントするにはどうすればよいですか?

+0

使用して、怠惰なデータモデルを使用して、**知って**あなたが持っているどのように多くの行 – Kukeltje

+0

を濾過した後、私はしたくありませんページジェネレータを使用します。私のテーブルはスクロール可能でなければなりません。 – Sundaze

+0

Lazydatamodelは改ページやスクロールとは独立しています.... – Kukeltje

答えて

0

public int count(){ 
    if(getTcsInstanceBean().filteredTcsJList!=null){ 
    return getTcsInstanceBean().filteredTcsJList.size(); 
    } 
    else { 
    return getcsInstanceBean().tcsJList.size(); 
    } 
} 

のようなメソッドを書くかcurrentPageReportTemplate

<p:dataTable value="#{tcsInstanceBean.tcsJList}" var="return" scrollable="true" scrollHeight="550" 
       widgetVar="returnTable" 
       emptyMessage="Nothing found matching given criteria" 
       filteredValue="#{tcsInstanceBean.filteredTcsJList}" 
       styleClass="returnTable, selectable" 
       headerClass="returnTableHeader" 
       rowClasses="returnTableOddRow,returnTableEvenRow" 
       resizableColumns="true" 
       paginator="true" 
     paginatorTemplate="{CurrentPageReport}" 
     currentPageReportTemplate="We found {totalRecords}, Jobs!"> 

       <p:column class="returnColumn" style="width:40%;" 
        sortBy="#{return.path}" 
        filterBy="#{return.path.fileName}" 
        filterMatchMode="contains"> 
        <f:facet name="header">Job Path</f:facet> 
        <a href="file:///#{return.path}" target="_blank">#{return.path.fileName}</a> 
       </p:column> 
</p:dataTable> 
関連する問題