0

我在一个块中有一个这样的 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 :listPartyDBrechercheAbonne()

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

多次搜索有效,dataTable 的内容变化如预期。

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

用图片解释:

搜索“测试”: 正在寻找

之后立即搜索“abc”,按预期工作: 正在寻找

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

移除过滤器(回到图 1),然后搜索“abc”。不工作: 卸下过滤器

再次应用过滤器会在最初未显示的“abc”搜索上执行 - 删除过滤器会显示最后一次搜索应该显示的内容。 再次过滤

谢谢你的帮助。

4

0 回答 0