Primefaces datatable filter()函数不适用于一个托管类,但适用于另一个



这是在我添加任何过滤器之前

在这里,我添加了一个搜索词

在我删除搜索词之后,数据表保持为空。

另一方面,我有一个非常好用的数据表,带有另一个管理器类的搜索功能,所以我真的不理解这个问题。


@ManagedBean(name = "laboratorio")
@SessionScoped
public class Laboratorio implements Serializable {

private static final long serialVersionUID = 1094801825228386322L;
private LaboratorioDAO ldao;
private Integer id;
private String msg;

private String tipoSangre;

private List<Donantevalidar> users;
private List<Donantevalidar> usersFiltrados;

public Integer getId() {

return id;
}

public void setId(Integer pwd) {
this.id = pwd;
}

public List<Donantevalidar> getUsers() {
return users;
}

public void setListavalidar(List<Donantevalidar> users) {
this.users = users;
}

public void setUsersFiltrados(List<Donantevalidar> users) {
this.usersFiltrados = users;
}

public List<Donantevalidar> getUsersFiltrados() {
return usersFiltrados;
}

public String getTipoSangre() {
return tipoSangre;
}

public void setTipoSangre(String pwd) {
this.tipoSangre = pwd;
}
public void listaSangre() {
LaboratorioImpl ldao2 = new LaboratorioImpl();
setListavalidar(ldao2.generarTabla());

}

}

这是我的html代码

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f = "http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Borrar</title>
<link rel="stylesheet" href="borrar.css"></link>
<script src="https://kit.fontawesome.com/22e24bcbd3.js" crossorigin="anonymous"></script>
</h:head>
<div class="container">
<div class="screen">
<div class="screen__content">
<h:body onload="#{laboratorio.listaSangre()}">
<div class="box">
<h:form>
<div class="box2">
<div class="login__field" style="margin-left: 100px; margin-top: 50px">
<br></br>
<h1> 
Validar muestras</h1>
</div>
<div class="login__field" style="text-align:center;">
<br></br>
<br></br>
<br></br>
<br></br>
<h2> 
Nombre de usuario</h2>

<p:inputText  class="login__input" id="username" value="#{laboratorio.id}"    ></p:inputText >
<div class="errorMensaje" style="position: absolute; top:200px; z-index: 99999">
<p:messages for="MessageId" showDetail="true"  closable="true"></p:messages>
</div>
</div>
<div class="login__field2">
<h:commandLink action="#{login.logout}" value="Logout" styleClass="button2 login__submit2">
<i class="button__icon fas fa-sign-out-alt"></i>
</h:commandLink>
</div>
</div>
<br /><br />
<br /><br />
<br /><br />
<h:message for="username"></h:message>
<br /><br />

<div class="errorMensaje" style="position: absolute; top:-5px;">
<p:messages for="MessageId" showDetail="true"  closable="true"></p:messages>
</div>
<div class="login__field">
<p:commandLink class="button login__submit"  value="Borrar" type="button" styleClass="button login__submit" style="text-decoration:none;color: #4C489D;;" onclick="PF('deleteDlg').show()">
<i class="button__icon fas fa-user-slash "></i>
</p:commandLink>
<h:commandLink class="button login__submit" action="#{laboratorio.listaSangre()}" value="Actualizar tabla" styleClass="button login__submit">
<i class="button__icon fas fa-sync"></i>
</h:commandLink>
<p:commandLink class="button login__submit"  value="Anyadir" type="button" styleClass="button login__submit" style="text-decoration:none;color: #4C489D;;" onclick="PF('validarDlg').show()">
<i class="button__icon fas fa-user-slash "></i>
</p:commandLink>
</div>

</h:form>
</div>  <h:form>
<div class="tabla">
<p:dataTable  value="#{laboratorio.users}" var="var" lazy="true" filteredValue="#{laboratorio.usersFiltrados}" widgetVar="customersTable" emptyMessage="No hay coincidencias" paginator="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
currentPageReportTemplate="{startRecord}-{endRecord} of {totalRecords} records"
rowsPerPageTemplate="5,10,{ShowAll|'All'}" style="table-layout: auto;">
<f:facet name="header">
<h:outputText value="Busqueda global:" />
<p:inputText id="globalFilter" onkeyup="PF('customersTable').filter()" style="width:150px" />
<p:separator />
</f:facet>
<p:column filterBy="#{var.tipo}" headerText="Tipo de sangre"    filterMatchMode="contains">
<h:outputText value="#{var.tipo}" />
</p:column>


</p:dataTable>


</div>
</h:form>
</h:body>
</div>
<div class="screen__background"> <span class="screen__background__shape screen__background__shape4"></span>
<span class="screen__background__shape screen__background__shape3"></span>      
<span class="screen__background__shape screen__background__shape2"></span>
<span class="screen__background__shape screen__background__shape1"></span></div>
</div>
</div>
</html>

我的工作数据表基本上是相同的,但有4列和其他对象类,我尝试过清理我的缓存,重建项目等。唯一可能出错的是,从数据库中检索到的一些数据是";utfmb4"-字符集和排序规则";utf8mb4_0900_ai_ci";不知道这是否会导致它。(编辑(我使用primefaces 10.0.0

解决了这个问题,我使用了错误的FREKING IMPORTS NO WONDER IT DIDNT WORK

相关内容