私はプライムフェイスでデータテーブルとフィルターを扱っています.2つの列を持つデータテーブルがあります.1つ目はエンティティの名前で、2つ目はエンティティを選択するためのラジオボタンです.
datatable 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
}
これがビーン・オフィチーナです。
@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;
}
それで、誰かが私を助けることができますか?
私は何を間違っていますか?