以下是我的问题: 我有一段简单的代码。 Primeface数据表保存记录并应过滤。但是当我将一些字母写入搜索字段时,数据表会显示“找不到记录”消息。为什么呢?
这是我的代码:
<ui:define name="content">
<h:form>
<h:panelGrid columns="1">
<p:dataTable value="#{mainBean.liste}"
var="daten"
rows="6"
emptyMessage="Keine Daten bisher Erfasst"
widgetVar="erfasstTabelle"
paginator="true" resizableColumns="true" paginatorPosition="bottom"
paginatorTemplate=" {CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown} Springe zu Seite: {JumpToPageDropdown}"
currentPageReportTemplate="{startRecord} - {endRecord} von {totalRecords}, Seite: {currentPage}/{totalPages})"
rowsPerPageTemplate="5,10,15" filteredValue="#{mainBean.gefiltert}">
<f:facet name="header">
<p:outputPanel>
<h:outputText value="Alle Felder durchsuchen" />
<p:inputText id="globalFilter" onkeyup="PF('erfasstTabelle').filter()" style="width:150px" placeholder="Suchbegriff"/>
</p:outputPanel>
</f:facet>
<p:column headerText="AVS ID" filterMatchMode="equals" filterBy="#{daten.nummer}">
<h:outputText value="#{daten.nummer}" />
</p:column>
<p:column headerText="Rechtsform">
<h:outputText value="#{daten.rechtsform}" />
</p:column>
<p:column headerText="Erfasser" filterMatchMode="exact" filterBy="#{daten.erfasser}">
<f:facet name="filter">
<p:selectOneMenu onchange="PF('erfasstTabelle').filter()" >
<f:selectItem itemLabel="Erfasser" itemValue="#{null}" noSelectionOption="true" />
<f:selectItems value="#{mainBean.erfasser}" />
</p:selectOneMenu>
</f:facet>
<h:outputText value="#{daten.erfasser}" />
</p:column>
<p:column headerText="Datum" >
<h:outputText value="#{daten.datum}" />
</p:column>
</p:dataTable>
</h:panelGrid>
</h:form>
</ui:define>
我的Bean代码:
package de.avs.beans;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import de.avs.entity.Erfasst;
import de.avs.entity.ErfasstDAO;
@ManagedBean
@ViewScoped
public class MainBean implements Serializable{
private static final long serialVersionUID = 1L;
private ErfasstDAO erfasstDAO;
private List<Erfasst> liste;
private List<Erfasst> gefiltert;
private List<String> erfasser;
@PostConstruct
private void init(){
erfasstDAO = new ErfasstDAO();
erfasser = new ArrayList<>();
erfasser.add("Benjamin");
erfasser.add("Uwe");
erfasser.add("Rolf");
liste = erfasstDAO.alleEintraege();
}
public List<Erfasst> getListe() {
return liste;
}
public List<Erfasst> getGefiltert() {
return gefiltert;
}
public void setGefiltert(List<Erfasst> gefiltert) {
this.gefiltert = gefiltert;
}
public List<String> getErfasser() {
return erfasser;
}
public void setErfasser(List<String> erfasser) {
this.erfasser = erfasser;
}
}