Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Formatar campo numérico TEntry e Redirecionar página Olá Pessoal! Estou iniciando nesta fascinante ferramenta, mas estou com algumas dúvidas que não encontrei na documentação. Primeira delas é como formatar um campo numérico em um TEntry. Por exemplo uma valor de R$ 300,00 é apresentado somente como 300 para o usuário. A outra é como após salvar um registro redirecionar para outra página. Alguém saberia como resolver?...
RG
Formatar campo numérico TEntry e Redirecionar página  
Fechado
Olá Pessoal!

Estou iniciando nesta fascinante ferramenta, mas estou com algumas dúvidas que não encontrei na documentação.
Primeira delas é como formatar um campo numérico em um TEntry. Por exemplo uma valor de R$ 300,00 é apresentado somente como 300 para o usuário.
A outra é como após salvar um registro redirecionar para outra página.
Alguém saberia como resolver?

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (7)


EN

Bom dia Raphael,

Formatação TEntry:
adianti.com.br/framework_files/tutor/index.php?class=FormCustomView

Redirecionando:

No exemplo Library analise o control LoginForm, segue abaixo um fragmento do código, o método TApplication::executeMethod.

  1. <?php
  2.     function onLogout()
  3.     {
  4.         TSession::setValue('logged'FALSE);
  5.         TApplication::executeMethod('LoginForm''');
  6.     }
  7. ?>


Abraço.
VF

Raphael,

Modifiquei a classe TEntry.class.php para poder trabalhar junto com um plugin de mascara monetária e outro de mascara padrão.
Segue URL do plugin:
pastebin.com/rsUnr0MT

Segue o arquivo jquery.meiomaskmoney.js (o mesmo deve está em: lib/jquery/jquery.meiomaskmoney.js)
pastebin.com/Ahc4Hviw

Exemplo de uso:
<?þħþ

$field1 = new TEntry('valorpago');
$field1->setValue($object->valor);
$field1->setMask('money');
$field1->setSize(100);

// creates a row for the icon and the message
$row=$table->addRow();
$row->addCell(new TLabel('Valor recebido:'));
$row->addCell($field1);

?>
VF

Tinha esquecido,

Para o redirecionamento, modifiquei a classe TMessage.class.php, acrescentando suporte a ações (TAction).
A mesma pode ser vista aqui:
pastebin.com/xGCqMvWT

Lembrando que o parametro é facultativo.

Exemplo:
  1. <?php
  2.                     $action = new TAction(array($this''));
  3.                     
  4.                     // stores the object
  5.                     $object->store();
  6.                     new TMessage('info''Recebimento realizado com sucesso'$action);
  7. ?>
VF

Creio que no final de semana esteja com um tempo livre e postarei todas as modificações realizadas no framework.
Sim, lembrando que as mudanças foram feitas e testadas apenas no widget "web".
Para desktop, não tive tempo de ver como resolver esta bronca, mas farei em seguida, no caminhar dos meus projetos.
ES

Olá Raphael!
Já passei por esse problema e vou colocar como resolvi sem alterar as classes, claro que toda solução deve ser avaliada para se escolher a que se adequa ao seu problema.

Conforme a Elen mencionou já existe nativamente o tratamento de máscaras de forma bem competente mas não supre a necessidade no momento da digitação para valores monetários.

Digo isso porque se o objetivo for apenas mostrar basta formatar o dado antes de colocar na tela.

Para o problema de máscara no momento da digitação de valores existe um projeto Brasileiro chamado "Jquery Price Format", Criado por Eduardo Cuducos e atualmente mantido por Flávio Silveira. É sensacional e simples de usar.

Basta incluir no seu form ou até mesmo no libraries.html do template e usar a vontade.

Visite o site e comprove: jquerypriceformat.com/

abs.
Eliezer
PD

Olá pessoal,

Soluções estão sendo analisadas para adicionar este suporte nativo ao framework.

um abraço,
Pablo
FC

A thread é antiga então não sei se já foi aprimorada.
Fiz dessa forma:
$remuneracao->setNumericMask(2,',','.');

Abs,
Felipe