Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Passar parâmetros TDataGridAction Pessoal boa tarde! Criei um action e estou acessando outro formulário já que estou posicionado na row do datagrid seria interessante passar os dados para o form tem a função setParameter que transfere os dados para a função do form no Action. Mas como pegar informações da row do datagrid para transferir para o form????...
AG
Passar parâmetros TDataGridAction  
Fechado
Pessoal boa tarde!

Criei um action e estou acessando outro formulário já que estou posicionado na row do datagrid seria interessante passar os dados para o form tem a função setParameter que transfere os dados para a função do form no Action.

Mas como pegar informações da row do datagrid para transferir para o form????

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 (5)


AG

Lembrando que meu datagrid é temporário pode ou não haver registro criado na tabela.
Será que não para para criarmos uma função para receber o index e pegar os dados do datagrid e depois enviar para o outro form???
NR

Anderson, como as actions da datagrid são criadas no construct da classe não há como usar o setParameter com os dados de cada row diretamente. O que pode ser feito é passar um identificador de cada registro, informado no $action->setField, e a partir desse identificador buscar as informações na sessão ou do banco de dados.

Ou também, na função onReload você pode fazer algo parecido com isso:
  1. <?php
  2. $row $this->datagrid->addItem($object);
  3. $row->get(0)->get(0)->href .= '&teste=' $object->atributo;
  4. ?>

O primeiro get(0) retorna a primeira coluna da linha e o segundo retorna a tag <a> que contem o link da ação.</a>
AG

Obrigado Nataniel.
PD

A ideia da datagrid é passar sempre o ID do registro e do outro lado pegar o restante por meio dele.
RB

Boa tarde, passei por um problema parecido hoje, precisava passar dois valores no setField do TDataGridAction, fiz uma pequena gambiarra.
No onReload criei uma variável chamada "busca" e concatenei os valores, depois no método que recebe os valores fiz um explode.

no onReload:
  1. <?php  $object->busca $row['NUM_NF']."-".$row['NUM_AD']; ?>


no método que recebe onShowContrato($param)
  1. <?php
  2.             $pieces explode("-"$param['key']);
  3.             $nf $pieces[0];
  4.             $numad $pieces[1];           
  5. ?>