In my datatable take any field
Code: Select all
<p:dataTable var="f" lazy="true">... <p:column headerText="NIE" filterBy="#{f.hacendado.hacdnicif}" width="5%" sortBy="#{f.hacendado.hacdnicif}" >
<h:outputText value="#{f.hacendado.hacdnicif}" />
</p:column>
Code: Select all
String filterProperty = it.next();
Object filterValue = filters.get(filterProperty);
Field campo = finca.getClass().getDeclaredField(filterProperty); //
campo.setAccessible(true);
String fieldValue = String.valueOf(campo.get(finca));
Code: Select all
java.lang.NoSuchFieldException: hacendado.hacdnicif
at java.lang.Class.getDeclaredField(Class.java:2070)
at regantes.lazyDataModel.LazyFinca.load(LazyFinca.java:70)
Code: Select all
public class Finca implements java.io.Serializable {
....
private Hacendado hacendado;
....
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "finidhacendado")
public Hacendado getHacendado() {
return this.hacendado;
}
public void setHacendado(Hacendado hacendado) {
this.hacendado = hacendado;
}
¿How do i get this data?
i try add any property in the class Finca
Code: Select all
private String hacdnicif;
public String getHacdnicif() {
return getHacendado().getHacdnicif();
}
..column datatable <p:column headerText="DNI" filterBy="#{f.hacdnicif}" width="5%" >
<h:outputText value="#{f.hacendado.hacdnicif}" />
</p:column>
Thanks for help.