Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Problemas no Enable/Disable de campos tipo TTIME Boa tarde, Pessoal Não sei alguém passou por isso, tenho 2 campos TTime que ficam desabilitados( setEditable), até que um campo TCombo fique "SIM", marcando que a tarefa será agendada. Quando habilito os campos, todas as configurações do TTime somem, estou usando a função abaixo para fazer a habilitação ou não dos campos:. ...
DA
Problemas no Enable/Disable de campos tipo TTIME  
Boa tarde, Pessoal

Não sei alguém passou por isso, tenho 2 campos TTime que ficam desabilitados( setEditable), até que um campo TCombo fique "SIM", marcando que a tarefa será agendada. Quando habilito os campos, todas as configurações do TTime somem, estou usando a função abaixo para fazer a habilitação ou não dos campos:.

  1. <?php
  2.  public static function onChangeAgendar($param=NULL)
  3.    {
  4.        if (!empty($param['agendado']))
  5.        {
  6.            if ($param['agendado'] == '1')
  7.            {
  8.             TTime::enableField('form_TarefaMovimento''horainicio');
  9.             TTime::enableField('form_TarefaMovimento''horafinal');
  10.            }
  11.            else
  12.            {
  13.             TTime::disableField('form_TarefaMovimento''horainicio');
  14.             TTime::disableField('form_TarefaMovimento''horafinal');  
  15.            }
  16.        }
  17.    }
  18. ?>


Se alguém já passou por isso ou sabe como contornar esse problema, poderia me dá uma luz?

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)


DA

Bom dia, Pessoal

Consegui resolver o problema através de uma dica para usar o TScript, e como ele já é usado
dentro das funções enabledField e disableField do TTime, fiz a seguinte troca:

$this->horainicio->setEditable(FALSE);
$this->horafinal->setEditable(FALSE);

por

TTime::disableField('form_TarefaMovimento', 'horainicio');
TTime::disableField('form_TarefaMovimento', 'horafinal');

Funcionou dentro do esperado, mantendo todas as funcionalidades quando habilitado.

Alterei a função apenas para ficar com um if condicional

  1. <?php
  2.  public static function onChangeAgendar($param=NULL)
  3.    {
  4.            if ($param['agendado'] == '1')
  5.            {
  6.             TTime::enableField('form_TarefaMovimento''horainicio');
  7.             TTime::enableField('form_TarefaMovimento''horafinal');
  8.            }
  9.            else
  10.            {
  11.             TTime::disableField('form_TarefaMovimento''horainicio');
  12.             TTime::disableField('form_TarefaMovimento''horafinal');  
  13.            }
  14.         }
  15. ?>


Fica a dica!