我正在使用带有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;
}
那么,任何人都可以帮助我吗?
我究竟做错了什么?