Jsf 按inputtext筛选primefaces数据网格
我想使用inputtext来过滤datagrid 一些代码如下所示: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
<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>