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?

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 (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!