Primefaces dataTable填充(搜索)在过滤后不能很好地工作

时间:2018-03-28 08:42:45

标签: primefaces datatable pf-datatable

我在<h:form>块中有这样的Primefaces dataTable:

<p:dataTable id="basicDT" var="partyDB" value="#{mbRechercheAbonne.listPartyDB}" 
                             paginator="true" 
                             emptyMessage="Aucun abonné ne correspond aux critères"
                             paginatorPosition="bottom" 
                             paginatorAlwaysVisible="false" 
                             rows="25" 
                             paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                             rowsPerPageTemplate="25,50,100"
                             currentPageReportTemplate="{startRecord} - {endRecord} sur {totalRecords} résultats"
                             filteredValue="#{mbRechercheAbonne.filteredListPartyDB}">

和一个搜索按钮,使用@ViewScoped bean填充dataTable,在调用listPartyDB时更新rechercheAbonne()的值:

<p:commandButton value="Rechercher" update="display :consultform:basicDT" icon="ui-icon-check"
                                     actionListener="#{mbRechercheAbonne.rechercheAbonne()}" onstart="startRecherche()" oncomplete="stopRecherche()"/>

多次搜索有效,dataTable的内容会像预期的那样发生变化。

但是,当使用过滤然后删除过滤器(即在列上方的过滤器字段中添加字母然后删除该字母)时,搜索将不再起作用。我发现搜索确实有效,但我需要再次应用过滤器(并删除它以获得未过滤的列表)以查看新搜索的结果。

用图片解释:

搜索&#34;测试&#34;: Searching for "test"

搜索&#34; abc&#34;之后,按预期工作: Searching for "abc"

再次搜索测试,过滤一列,按预期工作: Filtering

删除过滤器(返回图1),然后搜索&#34; abc&#34;。 不起作用 Removing the filter

再次应用过滤器会在&#34; abc&#34;最初没有显示的搜索 - 删除过滤器会显示上次搜索应显示的内容。 Filtering again

感谢您的帮助。

0 个答案:

没有答案