我在一个块中有一个这样的 Primefaces数据表<h:form>
:
<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}">
和一个搜索按钮,它使用一个更新when@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 的内容变化如预期。
但是,当使用过滤然后删除过滤器(即在列上方的过滤器字段中添加一个字母,然后删除该字母)时,搜索不再起作用。我发现搜索确实有效,但我需要再次应用过滤器(并删除它以获得未过滤的列表)以查看新搜索的结果。
用图片解释:
再次应用过滤器会在最初未显示的“abc”搜索上执行 - 删除过滤器会显示最后一次搜索应该显示的内容。
谢谢你的帮助。