Como bloquear todo formulario Preciso bloquear todos os campos do formulario no metodo onEdit, testei o TForm::setEditable('nomeformulario', FALSE), mas não funcionou. Alguma sugestão?...
SI
Como bloquear todo formulario  
Preciso bloquear todos os campos do formulario no metodo onEdit, testei o TForm::setEditable('nomeformulario', FALSE), mas não funcionou.

Alguma sugestão?

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


NR

Veja a assinatura da função setEditable da classe TForm:
 
  1. <?php
  2. /**
  3. * Define if the form will be editable
  4. * @param $bool A Boolean
  5. */
  6. public function setEditable($bool)
  7. ?>

Repare que ela não é estática e possui somente 1 parâmetro(booleano). Deve ser chamada da seguinte maneira:
 
  1. <?php
  2. $this->form->setEditable(false);
  3. ?>
JC

Saudações Nataniel,
Então... aplicando
 
  1. <?php$this->form->setEditable(false);?>

ao inspecionar elemento terei esse retorno ok
<input class="tfield_disabled" style="font-weight: bold; color: darkblue; width: 400px; cursor: default;" name="nome" value="DANILO SOUSA SANTOS" type="text" readonly="1" onmouseover="style.cursor='default'">

todavia se eu alterar no navegador
<input class="tfield_disabled"
para "tirar o disable"
<input class="tfield"
ele ficara editável?

abraços mestre, aguardo retorno.
NR

Na verdade, a class "tfield_disabled" é responsável pela exibição do campo com a aparência de desabilitado.

O atributo responsável por não permitir a edição é o "readonly". Retirando este atributo o campo volta a ser editável.

Como estas informações podem ser alteradas via browser, o ideal é você adicionar algum tipo de controle na hora de salvar os dados.