Conheça  A Ferramenta LowCode mais moderna e veloz para desenvolvimento PHP: Adianti Creator
Conservar Filtro e Pagina Atual do Datagrid ao Voltar de um Form Como posso fazer pra manter um filtro e a página de uma grid ao voltar de um form ? Ex.: Imagine que fiz um filtro numa grid dos clientes ATIVOS e quando estou na página 3, encontro um cliente que preciso modificar alguma informação. Clico em editar, faço a alteração e, ao voltar, ele não mantém a página que estava a minha busca (no caso, página 3) me retornando a pagina 1. Como faç...
DV
Conservar Filtro e Pagina Atual do Datagrid ao Voltar de um Form  
Como posso fazer pra manter um filtro e a página de uma grid ao voltar de um form ?

Ex.: Imagine que fiz um filtro numa grid dos clientes ATIVOS e quando estou na página 3, encontro um cliente que preciso modificar alguma informação. Clico em editar, faço a alteração e, ao voltar, ele não mantém a página que estava a minha busca (no caso, página 3) me retornando a pagina 1. Como faço pra manter isso ?

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (4)


NR

A maneira mais fácil seria gravar os parâmetros da consulta(page,offset) na sessão, mas você também pode passar esses parâmetros para a ação do formulário(setParameter) e depois de volta à listagem.
DV

Você tem algum exemplo prático disso? Só de como gravo essas informações na sessão e como passo os parâmetros pra o Datagrid (page,offset).
NR

Daves, veja que ao clicar em algum item da barra de navegação são adicionados alguns parâmetros à URL(offset, limit, page). Reescreva a função onReload e faça o tratamento necessário:
 
  1. <?php
  2. // $param recebe todos os parâmetros do $_GET
  3. function onReload($param)
  4. {
  5. if( isset($param['offset']) )
  6. {
  7. TSession::setValue('offset_list123',$param['offset']);
  8. $offset = $param['offset'];
  9. }
  10. else
  11. {
  12. $offset = TSession::getValue('offset_list123');
  13. }
  14. if ($offset)
  15. $criteria->setProperty('offset',$offset);
  16. ... verificar também limit, page, order...
  17. }
  18. ?>
DV

Por isso aí eu já consigo fazer algo. Obrigado pela atenção.