我在<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的内容会像预期的那样发生变化。
但是,当使用过滤然后删除过滤器(即在列上方的过滤器字段中添加字母然后删除该字母)时,搜索将不再起作用。我发现搜索确实有效,但我需要再次应用过滤器(并删除它以获得未过滤的列表)以查看新搜索的结果。
用图片解释:
删除过滤器(返回图1),然后搜索&#34; abc&#34;。 不起作用
再次应用过滤器会在&#34; abc&#34;最初没有显示的搜索 - 删除过滤器会显示上次搜索应显示的内容。
感谢您的帮助。