Conheça  A Ferramenta LowCode mais moderna e veloz para desenvolvimento PHP: Adianti Creator
Habilitar/Desabilitar campos TDBCombo e TRadioGroup Bom dia, pessoal. Tenho um método onEditCollection que direciona um comportamento diferente para o formulário habilitando/desabilitando alguns campos. Ao entrar nesse formulário eu dei um que desabilitou todos os campos. Depois eu tentei habilitar apenas alguns campos e obtive êxitos nos campos TEntry, TCombo e TButton, mas não consegui...
AA
Habilitar/Desabilitar campos TDBCombo e TRadioGroup  
Bom dia, pessoal.

Tenho um método onEditCollection que direciona um comportamento diferente para o formulário habilitando/desabilitando alguns campos.

Ao entrar nesse formulário eu dei um
 
  1. <?php $this->form->setEditable(false); ?>

que desabilitou todos os campos. Depois eu tentei habilitar apenas alguns campos e obtive êxitos nos campos TEntry, TCombo e TButton, mas não consegui com os campos TDBCombo e TRadioGroup. Usei o seguinte código:
 
  1. <?php
  2. TDBCombo::enableField( self::$formName, 'financeiro_centro_custo_id' );
  3. TRadioGroup::enableField( self::$formName, 'tipo_lancamento' );
  4. ?>

Fiz um teste trocando o TDBCombo por TCombo, já que aquela é herança desta, mas também não deu certo.

Percebi que esses campos são bastante encapsulados por tags span e talvez por isso não funcione como os demais campos.

Nem mesmo no jQuery consegui habilitar.
 
  1. <?php
  2. TScript::create("$('select[name=\"financeiro_centro_custo_id\"]').removeAttr('disabled');"); TScript::create("$('select[name=\"financeiro_subcategoria_id\"]').removeAttr('disabled');");
  3. ?>


Agora, interessante é que pelo console do navegar esse mesmo comando jQuery funciona perfeitamente para habilitar esses campos, mas dentro do Adianti, não.

Alguém sabe como habilitar/desabilitar esses campos?

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


NR

"Percebi que esses campos são bastante encapsulados por tags span"
Você está usando a função enableSearch na combo? Se sim, teste o seguinte:
 
  1. <?php
  2. TMultiSearch::enableField( self::$formName, 'financeiro_centro_custo_id' );
  3. ?>
AA

Opa Nataniel, boa tarde.

Estou sim usando o enableSearch(). Esse comando que você passou também não funcionou. Porém, o problema é nessa propriedade mesmo porque quando desabilitei a função enableSeach() o comando
 
  1. <?php
  2. TDBCombo::enableField( self::$formName, 'financeiro_centro_custo_id' );
  3. ?>

funcionou.

Mas eu preciso dessa função de busca na combo. Alguma solução?
NR

Qual a versão do framework?
AA

A mais recente, a versão 5.7.

Só consegui resolver a situação com um script externo de jQuery. Fiz o script e chamei no construtor do formulário. Aí funcionou.
 
  1. <?php
  2. $("select[name=\"financeiro_centro_custo_id\"]").removeAttr('disabled', 'disabled');
  3. $("select[name=\"financeiro_subcategoria_id\"]").removeAttr('disabled', 'disabled');
  4. ?>