我有一个下拉菜单,如果我选择一个名称类别,它会显示带有扩展行选项的相应数据表。我想以全局方式搜索,但它不会过滤任何内容。我的托管bean名称是showTerm。 该类别显示:
如果我选择亚洲人的详细信息,它会显示一些人的姓名和地址。在全局过滤器中,如果我提供人的姓名或地址,则不会过滤或显示数据。
这是我的代码:
<p:dataTable id="datatable" var="term" value="#{showTerm.getTerm()}" widgetVar="dtable"
emptyMessage="No terminologies found with given criteria" filteredValue="#{term.list}">
<f:facet name="header">
<h:outputText value="Search fields:" />
<p:inputText id="globalFilter" onkeyup="dtable.filter()" style="width:150px" placeholder="Enter keyword"/>
<p:separator />
Expand the name to see detailed information
</f:facet>
<p:column style="width:16px">
<p:rowToggler />
</p:column>
<p:column headerText="Name: ">
<h:outputText value="#{term.personName}" />
</p:column>
<p:rowExpansion>
<p:panelGrid columns="1" columnClasses="label,value" style="width:100%">
<h:outputText value="Name: #{term.personName}" />
<h:outputText value="Address: #{term.personAddress}" />
我该怎么做?请帮忙。
答案 0 :(得分:0)
您必须为每列添加“filterBy”属性,以允许全局过滤器过滤数据...
<f:facet name="header">
<h:outputText value="Search fields:" />
<p:inputText id="globalFilter" onkeyup="dtable.filter()" style="width:150px" placeholder="Enter keyword"/>
<p:separator />
Expand the name to see detailed information
</f:facet>
<p:column style="width:16px">
<p:rowToggler />
</p:column>
<p:column filterBy="#{term.personName}" headerText="Name: ">
<h:outputText value="#{term.personName}" />
</p:column>
<p:rowExpansion>
<p:panelGrid columns="1" columnClasses="label,value" style="width:100%">
<h:outputText value="Name: #{term.personName}" />
<h:outputText value="Address: #{term.personAddress}"
/>
</p:rowExpansion>
检查this一个globalFilter primefaces ShowCase