Bom dia,
Minha duvida é basica, mas não funciona. Seguinte preciso criar um construtor que popule uma lista:
public TabelaCotacaoAndamento(int i, int j, String string, String string2,
String string3) {
}
Ai eu modifico:
public List<TabelaCotacaoAndamento> populaListaPrincipal() {
List<TabelaCotacaoAndamento> listEstatica = new ArrayList<TabelaCotacaoAndamento>();
listEstatica.add(new TabelaCotacaoAndamento(111, 1111, "Marca 1",
"peca 1", "data 1"));
listEstatica.add(new TabelaCotacaoAndamento(222, 2222, "Marca 2",
"Peça 2", "data 2"));
listEstatica.add(new TabelaCotacaoAndamento(333, 333, "Marca 3",
"Peça 3", "data 3"));
return listEstatica;
}
} Mas na hora de mostrar no datable ele não carrega! ja coloquei o value no datatable e esta tudo certo!
Porq não esta populando minha lista???
Cara … se eu entendi vc quer que o DataTable inicie carregado, certo ?
Bem … tenho quase certeza que vc tenha que chamar ele pelo construtor do seu Bean … tipo:
[code]public class meuBean{
public meuBean(){
populaListaPrincipal();
}
}[/code]
Isso fara com que a lista seja carrega na criação do bean.
[quote=Diego Adriano]Cara … se eu entendi vc quer que o DataTable inicie carregado, certo ?
Bem … tenho quase certeza que vc tenha que chamar ele pelo construtor do seu Bean … tipo:
[code]public class meuBean{
public meuBean(){
populaListaPrincipal();
}
}[/code]
Isso fara com que a lista seja carrega na criação do bean.[/quote]
Na verdade não dessa forma, pois essa lista é de objetos e ela é populada na classe DAO e passada para o Bean…
Certo, acho que entendi o que esta dizendo …
Bem vou te mostrar um exemplo de como faço:
xHtml
<p:dataTable paginator="true"
paginatorPosition="bottom"
rows="20"
value="#{avaliacaoBean.avaliacoes}"
var="avaliacao"/>
Bean
[code]private List avaliacoes;
public List getAvaliacoes(){
if (this.avaliacoes == null){
System.out.println(“REPOSITORIO PROCURA AVALIAÇÃO”);
ELContext elContext = FacesContext.getCurrentInstance().getELContext();
this.entityManager = (EntityManager) FacesContext.getCurrentInstance().getApplication().getELResolver().getValue(elContext, null, "entityManager");
AvaliacaoRepository repository = new AvaliacaoRepository(this.entityManager);
this.avaliacoes = repository.getAvaliacoes();
System.out.println("T. Av: " + avaliacoes.size());
}
return this.avaliacoes;
}
[/code]
Repository
public List<Avaliacao> getAvaliacoes(){
Query query = this.entityManager.createQuery("select a from Avaliacao as a");
return query.getResultList();
}
Vê ai se ajuda … Abraços …
[quote=Diego Adriano]Certo, acho que entendi o que esta dizendo …
Bem vou te mostrar um exemplo de como faço:
xHtml
<p:dataTable paginator="true"
paginatorPosition="bottom"
rows="20"
value="#{avaliacaoBean.avaliacoes}"
var="avaliacao"/>
Bean
[code]private List avaliacoes;
public List getAvaliacoes(){
if (this.avaliacoes == null){
System.out.println(“REPOSITORIO PROCURA AVALIAÇÃO”);
ELContext elContext = FacesContext.getCurrentInstance().getELContext();
this.entityManager = (EntityManager) FacesContext.getCurrentInstance().getApplication().getELResolver().getValue(elContext, null, "entityManager");
AvaliacaoRepository repository = new AvaliacaoRepository(this.entityManager);
this.avaliacoes = repository.getAvaliacoes();
System.out.println("T. Av: " + avaliacoes.size());
}
return this.avaliacoes;
}
[/code]
Repository
public List<Avaliacao> getAvaliacoes(){
Query query = this.entityManager.createQuery("select a from Avaliacao as a");
return query.getResultList();
}
Vê ai se ajuda … Abraços …
[/quote]
vlw pela ajuda, mas eu consegui resolver, faltava montar a estrutura do costrutor:
public TabelaCotacaoAndamento(int i, int j, String string, String string2,
String string3, String string4) {
cotacao = i;
atendimento = j;
marca = string;
peca = string2;
prazo = string3;
detalhe = string4;
}
Erro besta 
A sim claro … como eu carrego direto do banco não uso o construtor …rs
mas que bom que ajudou . abraços