menu
Fórum Adianti
menu Menu
TMultiSearch setData não funciona quando é usado um reload antes Eai galera, estou com um formulário que tem um TMultiSearch, ele carrega de acordo com os combos selecionados anteriormente, meu problema está no onEdit, eu utilizo um reload para recarregar o MultiSearch, porém quando isso é feito o setData não adiciona os itens ao form, só funciona se eu buscar todos os itens no construct. onEdit: https://prnt.sc/1qit8c3 Debug: https://prnt.sc/1qit...
IV
TMultiSearch setData não funciona quando é usado um reload antes  
Eai galera, estou com um formulário que tem um TMultiSearch, ele carrega de acordo com os combos selecionados anteriormente, meu problema está no onEdit, eu utilizo um reload para recarregar o MultiSearch, porém quando isso é feito o setData não adiciona os itens ao form, só funciona se eu buscar todos os itens no construct.

onEdit:
https://prnt.sc/1qit8c3

Debug:
https://prnt.sc/1qit39k

Código que atualiza o MultiSearch:
https://prnt.sc/1qitc0p


Alguém tem uma ideia do que pode ser? O campo carrega com os itens corretos, só que não seta em tela os que já foram selecionados e vieram do banco...

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


NR

A função TMultiSearch::reload adiciona os itens ao componente usando javascript.
Provavelmente o javascript está executando após o setData, ou seja, o setData tenta atribuir um valor que ainda não existe.

Sugiro criar a variável do componente com escopo de classe($this->atendimento = new TMulti...) e chamar a addItems ao invés de usar a função reload:
  1. <?php
  2. //TMultiSearch::reload...
  3. $this->atendimento->addItems($itens);
  4. ?>