Pelo que eu vi, você está querendo iterar sobre o ArrayList itens, mas em nenhum momento você chama o método prepararPesquisa para popular a lista
EDIT:
Dependendo da versão que você estiver utilizando, não é mais necessário utilizar um ListDataModel, apenas uma coleção qualquer ja da certo para a datatable
No meu arquivo xhtml, chamo o FornecedoresBean através do value="#{MBFornecedores.itens}", pois o meu MangedBean é MBFornecedores. E itens, recebe dentro de prepararPesquisa() minha “lista”.
A anotação @PostConstruct é para que os dados na listagem sejam atualizados sem que haja a necessidade de um refresh ou ação do usuário. Quando eu entro na página fornecedores.xhtml, não preciso ter mais nenhuma ação. Ele já vai listar para mim os fornecedores.
No vídeo do professor, que até agora não me respondeu, ele não chama o prepararPesquisa(). Como eu posso chamar este método no xhtml?
Errado!
A Anotação @PostConstruct serve para executar um método quando o bean for criado
Se o seu bean é ViewScoped, ele será criado toda vez que você acessar uma nova página que referencia esse bean e será destruído toda vez que você fizer um outcome(navegação) para uma outra página ou até para a mesma mas executando um redirect.
Anota o método com @PostConstruct e coloca o método de prepararPesquisa dentro do método anotado, assim quando o bean for criado, a sua lista vai ser populada, pois dentro do método prepararPesquisa você popula a sua lista.
Igualzinho como eu postei
Continuei pesquisando e no arquivo xhtml, na tag <p:dataTable emptyMessage=“Nenhum registro encontrado.” value="#{MBFornecedores.itens}" var=“item” ajax=“false”> eu coloquei:
ajax=“false”
e FUNCIONOU!!!
Meninos, a todos que me ajudaram, muito obrigada!!! Estou aprendendo ainda, com certeza mais adiante precisarei de mais ajuda de vocês…