Featured Posts

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

Manipulando arquivos XML em Java com a API SAX - Parte... O padrão SAX cresceu a partir do método DOM, que era muito complexo e inadequado para várias aplicações. Além disso, até então, cada parser XML para Java tinha seu próprio padrão de interface....

Readmore

Manipulando arquivos XML em Java com a API DOM - Parte... A interface DOM DOM é uma interface de programação, baseada no modelo de objetos, que permite a manipulação e transformação de documentos em XML. A interface DOM manipula documentos XML na forma...

Readmore

Como construir um grid dinâmico utilizando Ext JS É muito simples criar um grid/tabela estático usando o widget grid da biblioteca Ext JS. O problema começa quando você quer criar um grid totalmente dinâmico. Mas, em primeiro lugar, o que quero...

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