Sugestão - adicionar rotina para limpar o form sem precisar remontar a tela Boa tarde, Sugiro a adição de um método para limpar todos os campos do TForm, suposto nome: clearFields, como por exemplo: sendo $namesFields = ['icodigo'=>"AdiantiWidgetFormTHidden" ,'iunidadedemandada'=>"AdiantiWidgetWrapperTDBCombo" ,'itipodocumento'=>"AdiantiWidgetWrapperTDBUniqueSearch" ,'dtregistro'=>"AdiantiWidgetFormTDate" ...
RA
Sugestão - adicionar rotina para limpar o form sem precisar remontar a tela  
Boa tarde,

Sugiro a adição de um método para limpar todos os campos do TForm, suposto nome: clearFields, como por exemplo:

sendo $namesFields = ['icodigo'=>"AdiantiWidgetFormTHidden"
,'iunidadedemandada'=>"AdiantiWidgetWrapperTDBCombo"
,'itipodocumento'=>"AdiantiWidgetWrapperTDBUniqueSearch"
,'dtregistro'=>"AdiantiWidgetFormTDate"
,'ctipodocumento'=>"AdiantiWidgetFormTCombo"
,'responsaveis'=>"AdiantiWidgetWrapperTDBCheckGroup"];

/**
* clear fields of form
* @param $form_name Form name
* @param $namesFields Fields names of elements of form
*/
public static function clearFields(string $form_name, array|null $namesFields = null,$timeout = null)
{
if (empty($namesFields))
{
TScript::create("document.querySelector('form[name="{$form_name}"]').reset();",true,$timeout);
return;
}

foreach ($namesFields as $fieldName => $argsField)
{
$onlyClass = (!is_array($argsField));
$refClass = new ReflectionClass(($onlyClass)?$argsField:$argsField['class']);

if ($refClass->hasMethod('clearField'))
{
$methodCalled = $refClass->getMethod('clearField');
$methodCalled->invoke(null,$form_name,$fieldName);
}

if (($argsField['enabled'])||(!$argsField['disabled']))
{
self::enableField($form_name,$fieldName);
}

if (($argsField['disabled'])||(!$argsField['enabled']))
{
self::disableField($form_name,$fieldName);
}
}
}


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)


IF

Já tem!
 
  1. <?php
  2. $this->form->clear(TRUE);
  3. ?>