Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Erro TDBUniqueSearch ao atualizar um formulário usando TForm::se Abaixo a resolução de um problema que encontrei no TDBUniqueSearch. Tenho uma funcionalidade que busca cidade e estado de acordo com o CEP. O campo cidade eu utilizo o TDBUniqueSearch, quando eu executo TForm::sendData, a cidade não era preenchida corretamente. Analisando a requisição eu encontrei o Método AdiantiMultiSearchService::onSearch, ele é responsável por adicionar o filtr...
SR
Erro TDBUniqueSearch ao atualizar um formulário usando TForm::se  
Abaixo a resolução de um problema que encontrei no TDBUniqueSearch.
Tenho uma funcionalidade que busca cidade e estado de acordo com o CEP.
O campo cidade eu utilizo o TDBUniqueSearch, quando eu executo TForm::sendData,
a cidade não era preenchida corretamente.

Analisando a requisição eu encontrei o Método AdiantiMultiSearchService::onSearch, ele é responsável
por adicionar o filtro. Mas o estranho é que o filtro não é adicionado.

A solução para o problema foi customizar o método e adicionar o filtro.

Declaração do TDBUniqueSearch
$cidade = new TDBUniqueSearch('cidade', 'database', 'Cidade', 'nome', 'nome', NULL);


Customização linha 95 do arquivo AdiantiMultiSearchService.
if (!$dynamic_criteria->isEmpty()) { $criteria->add($dynamic_criteria, TExpression::AND_OPERATOR); }else { // Adicionando filtro foreach ($columns as $column) { if (stristr(strtolower($operator),'like') !== FALSE) { $param['value'] = str_replace(' ', '%', $param['value']); $filter = new TFilter($column, $operator, "%{$param['value']}%"); } else { $filter = new TFilter($column, $operator, $param['value']); } $criteria->add($filter, TExpression::OR_OPERATOR); } }





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