Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Page Navigation na datagrid - Carregar dados via programação Pessoal. Tenho um formulário que possui campos de entrada em conjunto com a grade conforme imagem. Quando edito um campo o mesmo é regravado na grade e assim é feito um reload da grade (mostrando os dados atualizados). Entretanto o reload faz com que a grade volte para a primeira página de navegação. Gostaria de que ele voltasse na página em que estava antes da edição. Exist...
AN
Page Navigation na datagrid - Carregar dados via programação  
Pessoal.

Tenho um formulário que possui campos de entrada em conjunto com a grade conforme imagem.

Quando edito um campo o mesmo é regravado na grade e assim é feito um reload da grade (mostrando os dados atualizados).

Entretanto o reload faz com que a grade volte para a primeira página de navegação. Gostaria de que ele voltasse na página em que estava antes da edição.

Existe o método pageNavigation->setPage( no. da pagina). mas ele apenas muda a escolha da página e não carrega os dados da página selecionada. Isso só acontece se eu clicar na pagina de navegação.

Existe alguma forma de simular via programação esse clique e recarregar os dados?

Grato



Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (2)


NR

Você vai ter que passar os parâmetros (offset, page) entre as ações.

Primeiro o construtor deve receber esses parâmetros:
  1. <?php
  2. function __construct($param=null)
  3. ?>

Depois, ainda no construct, as ações devem passar esses parâmetros adiante:
  1. <?php
  2. $actionSave = new TAction(array($this,'onSave'));
  3. $actionSave->setParameters($param);
  4. ?>

A função onSave também deve receber os parâmetros:
  1. <?php
  2. function onSave($param=null)
  3. {
  4.    ...
  5.     //se houver uma chamada a funcao onReload dentro da onSave, passar os parametros
  6.     $this->onReload($param);
  7.    ...
  8. }
  9. ?>
AN

Nataniel.

Mais uma vez muito obrigado pela ajuda.

Tudo que eu tive de fazer foi passar os parâmetros para o evento OnReload .

FIz as funções para pegar a pagina e o offset e passei os parâmetros assim:

  1. <?php
  2.                   // posicionando na pagina correta e offset
  3.                   $lpagina TGridPageOffset::gradepage($no_item,3);
  4.                   $loffset TGridPageOffset::gradeoffset($no_item,3);
  5.                   $param=array();
  6.                   $param['offset']  = $loffset;
  7.                   $param['page']= $lpagina;                 
  8.                   $this->OnReload($param);
  9.  ?>