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.
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.
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.
Tiago
Veja que em momento algum você adiciona valor ao campo, portanto você obtém o valor "nulo".
Tenta assim antes de usar "get".
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.
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?
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();
}
}
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.
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
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.