Jsf 按inputtext筛选primefaces数据网格

Jsf 按inputtext筛选primefaces数据网格,jsf,primefaces,datagrid,filter,Jsf,Primefaces,Datagrid,Filter,我想使用inputtext来过滤datagrid 一些代码如下所示: <p:inputText value="#{bean.searchString}"> <p:ajax event="keyup" update="grid" /> </p:inputText> <p:dataGrid var="item" value="#{bean.findItemsByName}" columns="9" layout="grid" rows="130" p

我想使用inputtext来过滤datagrid

一些代码如下所示:

<p:inputText value="#{bean.searchString}">
    <p:ajax event="keyup" update="grid" />
</p:inputText>
<p:dataGrid var="item" value="#{bean.findItemsByName}" columns="9" layout="grid" rows="130" paginator="false" id="grid">

我们没有允许datagrid过滤的内置功能,但您可以自己编写代码

类似这样的内容(使用google library):

豆子:

import com.google.common.base.Predicates;
导入com.google.common.collect.Collections2;
导入com.google.common.collect.list;
//全部名单
私有列表名称=新的ArrayList();
//过滤列表
private List filterednames=new ArrayList();
私有字符串filterValue;
公共无效筛选器列表(){
List filteredList=Lists.newArrayList(Collections2.filter(
getNames(),谓词.containsPattern(filterValue));
设置过滤器名称(过滤器列表);
}
HXTML:

    <p:inputText value="#{bean.filterValue}">
        <p:ajax event="keyup" update="grid" listener="#{bean.filterList()}" />
    </p:inputText>
    <p:dataGrid var="name" value="#{bean.filterednames}" columns="9" layout="grid" rows="130" paginator="false" id="grid">
           <h:outputText value="#{name}" />
    </p:dataGrid>


这是工作代码吗?如果是这样,问题出在哪里?能否提供
bean
code?”Datagrid正确显示数据。我想使用inputtext更新datagrid。它看起来像filter datatable,但我需要datagrid。
    <p:inputText value="#{bean.filterValue}">
        <p:ajax event="keyup" update="grid" listener="#{bean.filterList()}" />
    </p:inputText>
    <p:dataGrid var="name" value="#{bean.filterednames}" columns="9" layout="grid" rows="130" paginator="false" id="grid">
           <h:outputText value="#{name}" />
    </p:dataGrid>