0

我正在使用带有primefaces的数据表和过滤器。我有一个包含两列的数据表,第一列是实体的名称,第二列是用于选择实体的单选按钮。

当我有数据表 whitout 过滤器时,它看起来像:

在此处输入图像描述

所以,当我尝试应用过滤器时,我得到以下“东西”:

在此处输入图像描述

我的数据表丢失了表的属性,我看不到标题,我看不到要过滤的字段,我只看到实体的名称和单选按钮。

这是我的数据表的 html 代码:

<p:dataTable id="tabla-oficinas"
     value="#{listadoRDController.oficinas}"
     var="oficina"
     style="width:40%;  margin: 40px;"
     rowKey="#{oficina.codOficina}"
     selection="#{listadoRDController.oficinaSeleccionada}"
     filteredValue="#{listadoRDController.oficinasFiltradas}"
 >
     <p:column style="text-align: center;" 
               id="nombre-oficina"                                       
               headerText="#{i18n['oficina']}"
               filterPosition="top"
               filterBy="descripcion"
               >
               <h:outputText value="#{oficina.descripcion}"/>
     </p:column>

     <p:column style="text-align: center;
               width:20%;"  selectionMode="single" 
            headerText="#{i18n['seleccione']}" />
    </p:dataTable>

更新:

这是控制器:

public class ListadoRDController implements Serializable{
   private Oficina oficinaSeleccionada;
   private List<Oficina> oficinasFiltradas
   private List<Oficina> oficina;
   /**
    *Some process
    */
   ....
   //getter's and setter's

}

这是 Bean Oficina:

 @Entity
 @Table(name = "oficina")
 @XmlRootElement
 @NamedQueries({
    @NamedQuery(name = "Oficina.findAll", query = "SELECT o FROM Oficina o"),
    @NamedQuery(name = "Oficina.findByCodOficina", query = "SELECT o FROM Oficina o  WHERE o.codOficina = :codOficina"),
    @NamedQuery(name = "Oficina.findByDescripcion", query = "SELECT o FROM Oficina o  WHERE o.descripcion = :descripcion")    
 })
 public class Oficina implements Serializable,Comparable<Oficina> {
    @OneToMany(mappedBy = "codOficina")
    private Collection<EstadisticoRD> estadisticoRDCollection;
    @OneToMany(mappedBy = "codOficina", fetch = FetchType.LAZY)
    private List<OficinaCertificacion> oficinaCertificacionList;
    private static final long serialVersionUID = 1L;

    @Id
    @Basic(optional = false)
    @Column(name = "codOficina")
    private String codOficina;

    @Column(name = "descripcion")
    private String descripcion;
 }

那么,任何人都可以帮助我吗?

我究竟做错了什么?

4

0 回答 0