2016-04-05 8 views
0

Ich habe ein Dropdown-Menü, in dem, wenn ich eine Namenskategorie wähle, es die entsprechende Datentabelle mit expandierender Zeilenoption anzeigt. Ich möchte als globaler Weg suchen, aber es filtert nichts. Der Name meines verwalteten Beans ist showTerm. Die Kategorie zeigt:Wie kann man aus einer Datentabelle mit einer expandierbaren Zeile in Primefaces suchen?

  • Asiaten Details
  • europäischen Personen Details

Wenn ich Asiaten Details auswählen, wird es einige Namen dieser Person und Adressen zeigen. In einem globalen Filter, wenn ich den Namen oder die Adresse einer Person gebe, filtert oder zeigt sie die Daten nicht.

Hier ist mein Code:

<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}" /> 

Wie kann ich das tun? Bitte helfen Sie.

+0

Hallo, Sie muss das Attribut "filterBy" zu jeder Spalte hinzufügen, damit der globale Filter die Daten filtern kann ... –

Antwort

0

Sie müssen die "filterBy" Attribut jeder Spalte hinzufügen die globalen Filter zu ermöglichen, die Daten zu filtern ...

<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> 

prüfen this ein globalFilter primefaces

Showcase
+0

danke Gamal :) – Shimu