Lançado Adianti Framework 8.1!
Clique aqui para saber mais
Usando setExitAction() em TMultiField Bom dia pessoal. Poderiam me ajudar a encontrar uma solução para isto? Eis o meu código: ...
RC
Usando setExitAction() em TMultiField  
Fechado
Bom dia pessoal.

Poderiam me ajudar a encontrar uma solução para isto?

Eis o meu código:
  1. <?php
  2.         // cria o multifield
  3.         $multifield_produtos = new TMultiField('produtos');
  4.         // cria os campos do multifield
  5.         $program_id = new  ">TDBSeekButton('program_id''permission''form_Saida''Produto''descricao''produtos_id''produtos_name'$criteria);        
  6.         $program_name = new TEntry('program_name');
  7.         $quantidade = new TEntry('qtde');
  8.         $valor_unitario = new TEntry('valorunitario');
  9.         $program_id->setExitAction(new TAction(array($this'onExitProduto')));
  10.         
  11.         //mascaras
  12.         $quantidade->setNumericMask(2',''.');
  13.         $valor_unitario->setNumericMask(2,',''.');
  14. ?>


  1. <?php
  2.     public static function onExitProduto($param)
  3.     {        
  4.         1994_produto $param['program_id']; 
  5.         try
  6.         {
  7.             TTransaction::open('permission');
  8.             $produto = new Produto(1994_produto); 
  9.             
  10.             $obj = new StdClass;            
  11.             $obj->valorunitario  number_format($produto->valor_saida2',''.');        
  12.             TTransaction::close();
  13.             TForm::sendData('form_Saida'$obj);
  14.         }
  15.         catch (Exception $e)
  16.         {
  17.            
  18.         }
  19.     }
  20. ?>

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


LM

Ricelli Boa Tarde,

mesmo problema que estou tendo. Teve alguma solução?

Att

Luiz Mattos
PD

Lembre que na multifield, os campos são precedidos pelo nome da própria multifield.
Então se a multifield chama-se contacts e o campo product_id, na real, fica contacts_product_id na postagem, veja:

  1. <?php
  2. class FormMultiFieldView extends TPage
  3. {
  4.     private $form;
  5.     
  6.     /**
  7.      * Class constructor
  8.      * Creates the page
  9.      */
  10.     function __construct()
  11.     {
  12.         parent::__construct();
  13.         
  14.         // create the notebook
  15.         $notebook = new TNotebook(520320);
  16.         
  17.         // create the form
  18.         $this->form = new TForm;
  19.         
  20.         // creates the notebook page
  21.         $table = new TTable;
  22.         
  23.         // add the notebook inside the form
  24.         $this->form->add($table);
  25.         
  26.         // adds the notebook page
  27.         $notebook->appendPage('Multi field component'$this->form);
  28.         
  29.         // create the form fields
  30.         $multifield = new TMultiField('contacts');
  31.         $multifield->setOrientation('horizontal');
  32.         
  33.         $subfield1  = new TEntry('name');
  34.         $subfield2  = new TEntry('phone');
  35.         $subfield3  = new TComboCombined('type_id''type_value');
  36.         $subfield1->setExitAction( new TAction(array($this'onExitName')));
  37.         $subfield3->addItems( array( => 'Cellphone'=> 'Landline') );
  38.         $subfield3->setSize(160);
  39.         
  40.         $multifield->setHeight(140);
  41.         $multifield->addField('name''Name',  $subfield1160TRUE);
  42.         $multifield->addField('phone','Phone'$subfield2120TRUE);
  43.         $multifield->addField('type_id''Type',  $subfield3150);
  44.         
  45.         $subfield1->setSize(120);
  46.         $subfield2->setSize(120);
  47.         
  48.         // add a row for one field
  49.         $row=$table->addRow();
  50.         $row->addCell($lbl = new TLabel('Multifield object:'));
  51.         $lbl->setFontStyle('b');
  52.         $row=$table->addRow();
  53.         $row->addCell$multifield );
  54.         
  55.         // define wich are the form fields
  56.         $this->form->setFields(array($multifield));
  57.         
  58.         // wrap the page content using vertical box
  59.         $vbox = new TVBox;
  60.         $vbox->add(new TXMLBreadCrumb('menu.xml'__CLASS__));
  61.         $vbox->add($notebook);
  62.         parent::add($vbox);
  63.     }
  64.     
  65.     public static function onExitName($param)
  66.     {
  67.         var_dump($param['contacts_name']);
  68.     }
  69. }
  70. ?>