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...
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...
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: