| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2010 16:17:46
|
Marques
Virtual Machine Man
![[Avatar]](/images/avatar/a5771bce93e200c36f7cd9dfd0e5deaa.jpg)
Membro desde: 05/09/2002 10:13:28
Mensagens: 635
Offline
|
Colegas,
Estou com dúvidas (na verdade perdido mesmo) em como implementar true pagination, que traz os dados paginados do banco e não pegar tudo do banco e paginar na memória.
Pesquisando, encontrei a classe abaixo, porém não sei o que vai no Managed Bean e no xhml (Uso richfaces e hibernate)
Um exemplo seria bem-vindo.
Muito obrigado,
Marques
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2010 16:38:05
|
rjbcordeiro
JavaEvangelist
Membro desde: 27/03/2007 09:10:23
Mensagens: 307
Localização: Olinda - PE
Offline
|
blz meu amigo, vou tentar te ajudar, bom esta classe ai vai te retornar um datamodel, para vc fazer um binding em seu datatable.
1 - pode ver que no construtor vc vai passar a lista, o numero total de linhas e da paginação e a quantidade de linhas por pagina;
2 - em seu managedbean vc tem que ter um atributo do tipo datamodel tipo:
lá no seu arquivo gui, vc vai fazer:
e vc pode usar o proprio componente do table para paginar e não vai ficar na memoria pq vc já esta tratando com a classe que vc criou ai
tenta ai, qualquer coisa pergunta blz.
This message was edited 1 time. Last update was at 09/11/2010 16:38:54
|
Não desista
topico == resolvido ? '[RESOLVIDO]' : :'( |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2010 18:14:25
|
Marques
Virtual Machine Man
![[Avatar]](/images/avatar/a5771bce93e200c36f7cd9dfd0e5deaa.jpg)
Membro desde: 05/09/2002 10:13:28
Mensagens: 635
Offline
|
Meu caro jbcordeiro,
Vc poderia me passar os métodos abaixo?
getFachada().consultaTodosUsuarios(first, rows);
totalSize = getFachada().consultarTotalTodosUsuarios();
Muito obrigado,
Marques
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2010 18:18:29
|
rjbcordeiro
JavaEvangelist
Membro desde: 27/03/2007 09:10:23
Mensagens: 307
Localização: Olinda - PE
Offline
|
vc utiliza hibernate?
nele tem o
com estes métodos sua consulta faz a paginação de dados direto no banco, trazendo apenas a quantidade necessária.
|
Não desista
topico == resolvido ? '[RESOLVIDO]' : :'( |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2010 18:40:27
|
Marques
Virtual Machine Man
![[Avatar]](/images/avatar/a5771bce93e200c36f7cd9dfd0e5deaa.jpg)
Membro desde: 05/09/2002 10:13:28
Mensagens: 635
Offline
|
sim
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/11/2010 10:39:37
|
rjbcordeiro
JavaEvangelist
Membro desde: 27/03/2007 09:10:23
Mensagens: 307
Localização: Olinda - PE
Offline
|
lá do seu Dao(ou qualquer outro padrão que vc utilize), mostra ai sua consulta para mostrar no datatable
|
Não desista
topico == resolvido ? '[RESOLVIDO]' : :'( |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2011 09:27:01
|
murilo_scool
Debugger
![[Avatar]](/images/avatar/5d088d8a959b4bb47cd0dcc592a3d505.jpg)
Membro desde: 12/11/2008 11:07:47
Mensagens: 57
Offline
|
e quando há 2 lista(grid) na mesma página?!?
as 2 grids não aparecem ao mesmo tempo,
são apresentadas em diferentes status!
quando a 2ª grid esta sendo apresentada e a mesma possui paginação,
ao clicar para mudar de página, a ação gerada no backing esta sendo
como se fosse para a 1ª grid que no momento nem esta sendo exibida.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/02/2011 20:04:46
|
ricardobarcelar
Smalltalk
Membro desde: 21/02/2011 20:02:23
Mensagens: 1
Offline
|
Ok... 10!
This message was edited 1 time. Last update was at 24/02/2012 12:27:14
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2011 10:36:23
|
cristianonasciment
JavaTeenager
![[Avatar]](/images/avatar/99a03297cd334305eeb21e19bf0ad056.jpg)
Membro desde: 05/03/2007 15:38:04
Mensagens: 154
Localização: Brasilia
Offline
|
Bom dia galera... Estou tentando usar esse exemplo com SEAM mas estou com problemas:
PagedDataModel:
ManagedBean:
.xhtml
O problema que eu estou tendo inicialmente é no VALUE do datatable, ele não chama o método do meu bean que vai fazer a paginação (getTableModel). Se no value do dataTable eu passar #{usuarioBean.tableModel} ele dá o seguinte erro:
Se eu deixo como está, a tela abre, mas não chama o método que vai fazer a paginação.
Qualquer ajuda vai ser bem vinda...
Agradecendo desde já,
|
SCJP 1.5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2011 14:50:31
|
cristianonasciment
JavaTeenager
![[Avatar]](/images/avatar/99a03297cd334305eeb21e19bf0ad056.jpg)
Membro desde: 05/03/2007 15:38:04
Mensagens: 154
Localização: Brasilia
Offline
|
Resolvi em partes o problema. Ele não entrava no meu método pq eu estava usando a anotation @In do Seam no tableModel.
tirando o @In ele consegue entrar no método assim:
Ai com isso ta fazendo a paginação certinha.
Com um porém, rss. Qdo eu clico pra ir pra segunda paginação, ele está entrando 3 vezes no getTableModel(), fazendo a mesma consulta 3 vezes.
Alguém tem idéia do pq ??
|
SCJP 1.5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/05/2011 18:07:15
|
rock
Debugger
![[Avatar]](/images/avatar/05b078717c0d74c1e99adc22b314fbec.jpg)
Membro desde: 31/07/2008 07:03:54
Mensagens: 63
Offline
|
Olá Cristiano,
Qdo eu clico pra ir pra segunda paginação, ele está entrando 3 vezes no getTableModel(), fazendo a mesma consulta 3 vezes.
Alguém tem idéia do pq ??
Já vi essa dúvida em vários posts aqui mesmo no GUJ (e nao lembro de ter visto a resposta).
Sugiro a leitura do Capítulo " 6.7 Factory and manager components " do livro Seam In Action.
Pelo que compreendi: durante o ciclo de vida do JSF, o componente ui pode ser acessado/visitado várias vezes. É o comportamento normal do JSF.
A sugestão é utilizar o @Factory que executará a consulta na primeira vez e armazenará o valor na variável de contexto. Nas solicitações seguintes é recuperado o valor que foi armazenado.
Acredito que será necessário estudar sobre o @Factory, @Unwrap, @Observer para que você saiba como utilizá-los de uma forma onde a consulta no banco seja executada nos momentos apropriados.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2012 11:23:12
|
apalmeira
Java Ninja
Membro desde: 01/11/2006 00:48:21
Mensagens: 250
Offline
|
Olá pessoal,
O método table.getFirst() não funcionou para mim, ele sempre retorna ZERO.
Tive que fazer dessa forma para funcionar: first = (scroller.getPage() * rows) - rows;
Alguém sabe o que pode ter ocorrido para não funcionar?
Utilizo: JSF 2.1 e RichFaces 4.1.
|
|
|
 |
|
|