Mudar valor de Combo dinamicamente Como faço pra mudar o valor de uma Combo ($idven), essa rotina só funciona para campos TEntry. Chamada: $idcli->setChangeAction(new TAction(array($this, 'onExitCli'))); Metodo: public static function onExitCli($param) { $idcli = $param['idcli']; try { TTransaction::open('conexao'); $wcli = ...
ML
Mudar valor de Combo dinamicamente  
Como faço pra mudar o valor de uma Combo ($idven), essa rotina só funciona para campos TEntry.

Chamada:
$idcli->setChangeAction(new TAction(array($this, 'onExitCli')));


Metodo:
public static function onExitCli($param) { $idcli = $param['idcli']; try { TTransaction::open('conexao'); $wcli = new sic_cli($idcli); $obj = new StdClass; $obj->idven = $wcli->idven; TForm::sendData('form', $obj); TTransaction::close(); } catch (Exception $e) { // does nothing } }

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (7)


NR

Na verdade a função sendData funciona para combos também, desde que a opção selecionada já esteja na combo. Caso contrário você deve utilizar a função TCombo::reload. Veja um exemplo no link abaixo:
adianti.com.br/framework_files/tutor/index.php?class=FormInteraction
ML

O valor já está na combo (TDBCombo).
ML

Inicialização do COMBO:

$wcam2 = new TDBCombo('ven', 'conexao', 'sic_ven', 'sqlidy', '{ven} - {des}','ven',$criteria); $wcam2->enableSearch();
NR

A função enableSearch modifica o comportamento padrão da combo. Adicione o código abaixo após chamar a função sendData:
 
  1. <?php
  2. TScript::create("$('#id_seu_componente').trigger('change');");
  3. ?>
ML

Também não deu certo

ele muda o valor interno da combo, mas o label fica o anterior ('Selecionar').

Por exemplo: Caso eu envie o formulario ele pega o Valor normal, o problema é que ele não mostra a alteração do ChangeAction para o usuario.(fica como antes: 'Selecionar')
NR

Aqui funcionou. Como você está pegando o id do componente?
ML

Estou dando um setId(100), e depois usando o 100 no script