0

我有一个下拉菜单,如果我选择一个名称类别,它会显示带有扩展行选项的相应数据表。我想以全局方式搜索,但它不过滤任何内容。我的托管 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}" />

我怎样才能做到这一点?请帮忙。

4

1 回答 1

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>

检查这个globalFilter primefaces ShowCase

于 2016-04-05T09:33:34.053 回答