Peguei o showcase la do primefaces e fiz meu datatable assim:
<p:dataTable value="#{testesBean.listaTodasPdj}" var="pdj">
<p:columns value="#{testesBean.colunas}" var="coluna" columnIndexVar="index">
<f:facet name="header">
<h:outputText value="#{coluna.header}"/>
</f:facet>
<h:outputText value="#{pdj[coluna.property]}"/>
</p:columns>
</p:dataTable>
e no meu bean ta a mesma idéia la do showcase também
private String columnTemplate = "diretoria levantamentos efetivacoes solicitEfetivacoes solicitLevantamentos";
public void criarColunasDinamicas() {
String[] columnKeys = columnTemplate.split(" ");
colunas.clear();
for(String columnKey : columnKeys) {
String key = columnKey.trim();
colunas.add(new ColumnModel(columnKey.toUpperCase(), columnKey));
}
}
static public class ColumnModel implements Serializable {
private String header;
private String property;
public ColumnModel(String header, String property) {
this.header = header;
this.property = property;
}
public String getHeader() {
return header;
}
public String getProperty() {
return property;
}
}
o que acontece, é que eu queria fazer tudo isso dinamicamente, e não ter um header estático no meu bean…
digamos que eu tenha uma classe de Gujeiros, nesta classe eu tenho 3 atributos:
String usuario
String senha
Integerlevel
se eu crio uma list gujeiros, através desta lista, eu consigo saber quais atributos eu tenho dentro da minha classe?
eu queria algum tipo de busca para me retornar as Strings: “usuario senha level”, para ser meu ‘columnTemplate’ dinâmico