Lançado Adianti Framework 7.6!
Clique aqui para saber mais
FormView não consigo interagir com TCombo Estou utilizando um FormView em um projeto onde tenho uma classe de controle que carrega ele, o problema é que tem três componentes TCombo com os dados de País, Estado, Cidade e gostaria de criar a interação entre eles, ou seja, quando alterar país carregar o cambo de estados e quando alterar estados carregar o cambo de cidades. Já fiz isso em outros forms que não utilizava view mais esse ...
AD
FormView não consigo interagir com TCombo  
Estou utilizando um FormView em um projeto onde tenho uma classe de controle que carrega ele, o problema é que tem três componentes TCombo com os dados de País, Estado, Cidade e gostaria de criar a interação entre eles, ou seja, quando alterar país carregar o cambo de estados e quando alterar estados carregar o cambo de cidades. Já fiz isso em outros forms que não utilizava view mais esse não estou conseguindo.

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


NR

Você está informando o nome do formulário(formAlunoMatricula) na sua view ? Se não informar, por padrão vai assumir "my_form".
AD

Obrigado pela resposta Nataniel, acredito que seria isso que você ta falando:

$acao_paises = new TAction(array('SaejAlunoMatricula','onChangePais'));

eu já fiz, mais ele até chama o evento corretamente, só não insere os dados no TCombo.
AD

Hoje resolvi o problema, te confesso que não gostei da solução.

  1. <?php
  2. public static function onChangePais($param)
  3.     {
  4.         try{
  5.                 TTransaction::open('dados');
  6.         
  7.                  $criteria = new TCriteria;
  8.                  $criteria->add(new TFilter('UF_SL','=',$param['alunoPaisNascimento']));
  9.                  
  10.                  $rep_uf = new TRepository('SaejUteisestados');
  11.                  $estados $rep_uf->load($criteria);
  12.                  
  13.                  foreach($estados as $object)
  14.                  {
  15.                      $items $items '<option value=' $object->UF_ID '>' $object->UF_NOME '</option>';
  16.                      
  17.                  }
  18.         
  19.                 TTransaction::close();
  20.                 
  21.                 
  22.                 //$("[name='<NOME_DESEJADO>']");
  23.                 $script '$("[name=alunoUfNascimento]").html("' $items '");';
  24.                 TScript::create($script); 
  25.                       
  26.            }catch(Exception $e){
  27.                                    new TMessage('error',$e->getMessage());
  28.                                    TTransaction::rollback;
  29.                                }
  30.         
  31.     }
  32. ?>
NR

Me refiro ao nome do formulário e não da classe. Geralmente ao criar um formulário se faz o seguinte:
  1. <?php
  2. $this->form = new BootstrapFormBuilder('nome_do_formulario');
  3. ?>

Se "nome_do_formulario" não for informado, o valor "my_form" será utilizado. É esse valor que deve ser passado na função TCombo::reload:
  1. <?php
  2. TCombo::reload('nome_do_formulario','alunoUfNascimento',$arr_itens);
  3. // ou 
  4. TCombo::reload('my_form','alunoUfNascimento',$arr_itens);
  5. ?>