JSF 2.0 + dataTable paginado com banco de dados

Galera estou usando o JSF 2.0 e com ele estou antes vendo a possibilidade de trabalhar com uma dataTable não importa se for do richfaces ou primefaces que tenha uma paginação com o banco de dados, e não utilizando o recurso que muitas vezes tem de exemplo, que recolhe uma lista inteira e o componente pagina armazenando em session…

Alguém já passou por isso ?

lembrando que estou tentando procurar algo tanto no richfaces-4.0.0.M2 ou o primefaces 2.2.RC2

[]'s meus caros

Veja se é isso que procuras:

Então Edu, a idéia foi boa, só que a biblioteca que uso do primefaces é do jsf 2.0 é a primefaces-2.2.RC2.jar

neste caso o método fetchLazyData não existe

           lazyModel = new LazyDataModel<Car>(100000000) {
		@Override
		public List<Car>[i] fetchLazyData[/i](int first, int pageSize) {
			logger.info("Loading the lazy car data between {} and {}", first, first+pageSize);

			List<Car> lazyCars = new ArrayList<Car>();
			populateLazyRandomCars(lazyCars, pageSize, first);

			return lazyCars;
		}
	};

Não sei mas estou quase desistindo de usar o jsf 2.0 hehe

Alguém tem uma outra saida ?

Thks !

No 2.2 substitua fetchLazyData por load. Muda um pouco mas acredito que não tem segredo. Não tenho exemplo aqui pois trabalho no 2.1

Valeu Edu, realmente o load funcionou !!

vou deixar o exemplo abaixo p/ o pessoal

xhtml

<p:dataTable var=“emp” value="#{publicadorBean.employees}" paginator=“true” dynamic=“true” lazy=“true” rows=“15”
emptyMessage=“Nenhum funcionário cadastrado”>
</p:dataTable>

[i]@PostConstruct
public void init() {
final String query= "select … ";
employees = new LazyDataModel() {
public List load(int first, int pageSize, String sortField, boolean sortOrder, Map<String, String> filters) {
return employeeDao.findByQuery(query, first, pageSize);
}

public int getRowCount() {

return employeeDao.countQuery(query);
}
};[/i]

aproveitando de seu conhecimento, sabe qual a propriedade que consigo colocar um botão de Aguarde enquanto clico nos
botoes de páginas 1, 2 ,4,… ?

E ele tem alguma label onde posso informar a quantidade de registros que estão exibindo ?
de 15 a 30
40 a 60…

e assim por diante ?

Ótimo que funcionou. Seria um load ? Se sim uso imagem. Para texto só substituir.

[code] <p:ajaxStatus>
<f:facet name=“start”>
<h:graphicImage value=“images/loading.gif” />
</f:facet>

<f:facet name="complete">
	<h:outputText value="" />
</f:facet>
</p:ajaxStatus>[/code]

Obrigado, estou indo bem com sua ajuda aqui !

Uma situação que ia me deparar, gostaria de saber como você controlaria isso .

Digamos que estou navegando no p:dataTable na página 5 . e clico em Alterar o Item, nisso sou enviado para outra tela ,
faço minhas modificações e retorno para a tela de busca.

Como consigo manter na página 5 que eu estava ?

Pois se eu retorno com o botão
<p:commandButton ajax=“false” action=“ListaEmployes.jsf” value=“Voltar”/>

Ele simplesmente retorna do ZERO a paginação.
Eu achava que com o @SessionScoped manteria os dados …

Alguma idéia ?

[]'s