ML
Preencher grid ao sair de campo ou no (on Select)
Boa tarde, Preciso de uma ajuda.
Tenho um form que no campo cliente, contem um TSeekButton. Este busca os dados do cliente selecionado e coloca perfeitamente no formulario (nome, idade, fone ).
Mas, preciso que além disso ele preencha na grid abaixo (anexo) os ultimos chamados deste cliente.
Segue parte do codigo do select.
Tenho um form que no campo cliente, contem um TSeekButton. Este busca os dados do cliente selecionado e coloca perfeitamente no formulario (nome, idade, fone ).
Mas, preciso que além disso ele preencha na grid abaixo (anexo) os ultimos chamados deste cliente.
Segue parte do codigo do select.
- <?php
- public static function onSelect($param)
- {
- try
- {
- $key = $param['key'];
- TTransaction::open('sapiens');
- $object = ViewclientesModel::find($key);
- TTransaction::close();
- $send = new StdClass;
- if ($object)
- {
- $send->cliente_id = $object->CodigoCliente;
- $send->nomecliente = $object->Nome;
- $send->telefone = $object->Telefone;
- $send->endereco = $object->Endereco;
- $send->idade = $object->Idade;
- $send->sexo = $object->Sexo;
- }
- else
- {
- $send->cliente_id = '0';
- $send->nomecliente = 'Cliente não encontrado';
- $send->telefone = '';
- $send->endereco = '';
- $send->idade = '';
- $send->sexo = '';
- }
- // procurar atendimentos
- $limit = 3;
- $repos = new TRepository('ChamadosModel');
- $criteria = new TCriteria;
- $ctaparam['order'] = 'data_chamado';
- $ctaparam['direction'] = 'desc';
- $criteria->add(new TFilter('cliente_id', '=', $send->cliente_id));
- $criteria->setProperties($ctaparam);
- $criteria->setProperties('limit', $limit);
- $items = $repos->load($criteria);
- if ($items)
- {
- foreach($items as $item )
- {
- // $this->datagrid_historico->addItem($item);
- POSSO ENVIAR PARA O OUTRO FORMULARIO POR AQUI??
- }
- }
- TForm::sendData('form_Chamados_Model', $send);
- parent::closeWindow(); // closes the window
- }
- catch (Exception $e)
- {
- $send = new StdClass;
- $send->viewclientesmodel_id = '';
- TForm::sendData('form_Chamados_Model', $send);
- TTransaction::rollback();
- }
- }
- ?>
Veja o comentário do Pablo sobre a função postData no link abaixo:
https://www.adianti.com.br/forum/pt/view_1123?problemas-ao-carregar-um-datagrid
Essa função recarrega a página fazendo um post, possibilitando manter o form preenchido.
Obrigado Nataniel,
Encontrei o comentário do Pablo e resolvi o problema.
Obrigado.