我有一个带过滤器的数据表
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9lZHZIei5wbmcifQ==” alt =“在此处输入图像描述”>
过滤器工作正常,但过滤器的结果不起作用。我在p:inputText内调用ajax尝试刷新结果,但不起作用
<h:outputText value="Result"/><h:outputText id="sizeFilterMyWork" value="#{caseManagement.myWork.size()}" />
<h:outputText value="Filter" id="myCaseOutputTextSearch" />
<p:inputText id="globalFilter" onkeyup="PF('myCaseTable').filter()" style="width:150px" >
<p:ajax event="keyup" update="sizeFilterMyWork" listener="#{caseManagement.getSizefilteredMyWork}"></p:ajax>
</p:inputText>
[在bean中,我有myWork
的列表(带有get和set)和用于过滤器的列表(带有get和set),当页面加载时,结果调用我工作列表的大小,然后,当我使用过滤器时,数据表正在缩小(这样就可以了),但是结果的数量没有变化。 Ajax应该调用方法getSizefilteredMyWork
并更新结果,但不起作用
Bean
private List<Case> myWork = new ArrayList<Case>(); // get and set
private List<Case> filteredMyWork; //get and set
public int getSizefilteredMyWork(final AjaxBehaviorEvent event)
{
return filteredMyWork.size();
}
我该如何解决?
您的侦听器方法的返回值将被忽略,但是您不需要它,因为outputText
将直接从myWork
获取其值。它应改为获取filteredMyWork
列表的大小。
您可以尝试用ìnputText
中的一个替换p:ajax
p:datatable
:
<p:ajax event="filter" process="@this" update="sizeFilterMyWork" />