如何从 primefaces 中具有可扩展行的数据 table 进行搜索?
How to search from a data table with an expandable row in primefaces?
我有一个下拉菜单,如果我 select 一个名称类别,它会显示带有扩展行选项的相应数据 table。我想以全局方式进行搜索,但它不会过滤任何内容。我的托管 bean 名称是 showTerm。
类别显示:
- 亚洲人详情
- 欧洲人详情
如果我 select 亚洲人的详细信息,它会显示一些人的姓名和地址。在全局过滤器中,如果我提供人名或地址,它不会过滤或显示数据。
这是我的代码:
<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}" />
我该怎么做?请帮忙
您必须将 "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
我有一个下拉菜单,如果我 select 一个名称类别,它会显示带有扩展行选项的相应数据 table。我想以全局方式进行搜索,但它不会过滤任何内容。我的托管 bean 名称是 showTerm。 类别显示:
- 亚洲人详情
- 欧洲人详情
如果我 select 亚洲人的详细信息,它会显示一些人的姓名和地址。在全局过滤器中,如果我提供人名或地址,它不会过滤或显示数据。
这是我的代码:
<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}" />
我该怎么做?请帮忙
您必须将 "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