Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Como usar o getValue do TField? Boa tarde galera, Alguém pode me dizer o que faz o método getValue da classe TField? Imagino que ela é o contrário do setValue, porém ao tentar utilizá-la não funciona....
TF
Como usar o getValue do TField?  
Fechado
Boa tarde galera,
Alguém pode me dizer o que faz o método getValue da classe TField? Imagino que ela é o contrário do setValue, porém ao tentar utilizá-la não funciona.

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (9)


MG

Olá Tiago

Sim em tem o objetivo de retornar o valor armazenado em um TField.

O TField tem valor nele?

Posta o código para podermos avaliar.
TF

  1. <?php
  2. class ControleCaixa extends Configuracao{
  3.     
  4.     private $form;
  5.             
  6.     function __construct(){
  7.         
  8.         parent::__construct();
  9.                 
  10.         $this->form = new TForm('form_gerenciamento_mesas');
  11.         $this->form->class 'tform'//Classe CSS
  12.         $this->form->style 'width: 650px';
  13.          
  14.         $tabela = new TTable;
  15.         $tabela->width '100%';
  16.         $tabela_botoes = new TTable;
  17.         
  18.         $this->form->add($tabela);
  19.                  
  20.         $id = new TEntry('id');
  21.         $numMesas = new TEntry('num_mesas');
  22.         $descricao = new TText('descricao');
  23.                         
  24.         // configuracao de campo        
  25.         $id->setSize(40);
  26.         $id->setEditable(false);
  27.         $numMesas->setMask('9999');
  28.         $numMesas->setSize(50);
  29.         $descricao->setSize(50030);
  30.         
  31.         $numMesas->addValidation('número de mesas', new TRequiredValidator); // campo obrigatório
  32.         
  33.         echo $numMesas->getValue;
  34. (...)
  35. Gostaria escreve natela o valor do $numMesas.
  36. Como eu faço?
MG

Tiago
Veja que em momento algum você adiciona valor ao campo, portanto você obtém o valor "nulo".
Tenta assim antes de usar "get".

  1. <?php
  2. (...)
  3.       $numMesas->setValue(1);
  4.       echo "Nùmero de mesas : " $numMesas->getValue();
  5. (...)
  6. ?>

MG

Outro detalhe é que o campo não será preenchido pelo usuário?
Então o valor será informado na tela e você deverá ter um evento onSave(), onde irá capturar todos os valores e persistir num banco de dados e depois disso exibí-los na tela.
TF

Tenho um formulário que é alimentado com dados vindo do BD e mesmo assim o getValue não exibe seu valor. Já abro o formulário preenchido pelo BD. Como acontece nesses casos?
TF

Esse formulário é alimentado no onEdit:

function onEdit($param){
try{
if (isset($param['key'])){

$key = $param['key'];

TTransaction::open('bdCardapio');

$objeto = new Funcionamentos($key);

$this->form->setData($objeto);

TTransaction::close();
}
else{
$this->form->clear();
}
}
catch (Exception $e){
new TMessage('error', 'Error ' . $e->getMessage());
TTransaction::rollback();
}
}
FC

Para o getvalue exibir o valor tem que vir de algum lugar ! do banco ele vem como objeto tipo $objeto->nome, igual a seção o getValue busca o valor armazenado na seção, no caso do TField tem que sem apos "postar" o form ou com uma função estatica via ajax.
PD

Oi People,

O TField::setValue() ou TForm::setData() são usados somente para jogar valores para os objetos em memória. Depois esses objetos são "exibidos" em tela.

Depois do POST, para pegar os dados do usuário, use TForm::getData(), que por usa vez chama o getPostData() de cada objeto...

Att,
Pablo
TF

Obrigado Pablo e Felipe, para resolver eu pegue os dados vindos do DB, no onEdit, e alimento uma TSession, onde o exibo no construct. Deu certo.