Featured Posts

ExtJS, Spring MVC 3 e Hibernate 3.5: Exemplo de um... Este tutorial demonstra como implementar um CRUD Grid (Create, Read, Update, Delete) usando ExtJS, Spring MVC 3 e Hibernate 3.5 O que geralmente queremos fazer com os dados Create (Criar) - (Insert) Read...

Readmore

ExtJS plugin: PagingToolbarResizer Ei pessoal, Este é o meu primeiro plugin em ExtJS. Apesar de não ser algo complicado, estou muito feliz e é um grande feito para mim! Bem, chega e introduções e vamos ao que realmente interessa. O...

Readmore

8++ perguntas para @loiane - por @hlegius Tempos atrás o Helio me enviou um questionário para eu responder, uma espécie de "entrevista". E agora ele publicou no blog dele! :) São minhas opiniões pessoais, e isso não quer dizer que estou...

Readmore

Carreira em TI: Currículo em Inglês Uma das grandes dificuldades para as pessoas da área de TI é, muitas vezes, escrever um bom currículo em inglês. E ter um currículo em inglês, é essencial, já que inglês é tão importante quanto...

Readmore

Entrevista para o Jornal A Tribuna Jan/2010: Profissões... Na última de semana de janeiro tive a honra de conceder mais uma entrevista para o jornal A Tribuna - vendido no Espírito Santo, meu estado natal - sobre mercado de trabalho na área de TI. A reportagem...

Readmore

Como Montar um Grid com Paginação utilizando Ext JS

Posted by Loiane | Posted in Ext JS | Posted on 23-07-2009

0

Até agora, apresentei aqui no blog alguns exemplos de como utilizar o widget grid da biblioteca Ext JS, mas em todos os exemplos, o volume de dados (número de linhas do grid) é muuuuito pequeno, não simbolizando um exemplo que utilizamos no ‘mundo real’.

Pode até ser uma exceção, mas quando construímos um grid/tabela para apresentar dados para o usuário, não queremos apenas mostrar 10 linhas. A quantidade de informação que podemos obter do banco é enorme, às vezes milhares de registros ou até mesmo milhões.

Carregar todas essas informações de uma só vez na memória pode causar algumas complicações, como uma exception de estouro de memória. A barra de paginação do grid do Ext JS permite que a aplicação busque apenas as informações que serão exibidas na página naquele momento.

E este é o objetivo do post de hoje: mostrar como agregar uma barra de paginação ao grid do Ext JS.

Vou pegar como base, o último projeto aqui do blog. A partir dele, vou fazer algumas modificações.

A primeira delas é no arquivo javascript do Ext JS. Apenas duas pequenas mudanças são necessárias:

Acrescentar a barra de paginação no grid:

gridpaginacao04

E passar os parâmetros para carregar os dados: start (dado inicial) e limit (limite de dados).

A próxima modificação é na classe GerenciaContatos. Modifiquei o método para gerar 10 contatos por vez. Acrescentei um índice após o nome de cada contato para mostrar a numeração de cada um (gambiarra).

O limite de dados total são 50 contatos. Você pode fazer esse controle pelo parâmetro ‘limit’ ou também pode fazer o controle na aplicação (a gosto do freguês).

gridpaginacao05

E no ContatoController basta obter o parâmetro ‘start’ e passar para o método que cria os contatos (ou faz a busca no banco de dados). Lembrando que o retorno é em formato JSON:

gridpaginacao06

Pronto! Se executar a aplicação, o grid vai se parecer assim:

gridpaginacao01

Se não gostar da barra de paginação na parte de baixo do grid, tem como mudar. Basta modificar a configuração do grid. Mude o bbar (bottom bar) para tbar (topbar):

gridpaginacao03E vai ficar assim:

gridpaginacao02

O código completo desse post você pode fazer o download aqui (formato projeto Eclipse) – 4,86MB

download

E se ainda não sabe como fazer para importar o projeto no eclipse e executar, pode conferir aqui.

Até a próxima!

:)

  • Share/Bookmark

Posts Similares

Write a comment