Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Passagem de parâmetro Pessoal neste trecho de código eu não estou sabendo qual variável pegar para passar o id do titular: // função reoload da Grid public function onReload( $param ) //$param = NULL { try { //------------------------------------------------------------------- //$key = TSession::getValue('id'); //---------------...
MO
Passagem de parâmetro  
Fechado
Pessoal neste trecho de código eu não estou sabendo qual variável pegar para passar o id do titular:


// função reoload da Grid
public function onReload( $param ) //$param = NULL
{
try
{
//-------------------------------------------------------------------
//$key = TSession::getValue('id');

//-------------------------------------------------------------------
TTransaction::open('permission');
$repository = new TRepository('CompFam');
$criteria = new TCriteria;
$criteria->setProperties( $param );
$criteria->add(new TFilter('compf_titular_id','=','1'));
$criteria->setProperty('limit',10);

$objects = $repository->load( $criteria );
$this->datagrid->clear();

if($objects)
{
foreach($objects as $object)
{
$this->datagrid->addItem( $object );
}
}

$criteria->resetProperties();
$count = $repository->count( $criteria );

$this->pageNavigation->setCount( $count );
$this->pageNavigation->setProperties( $param );
$this->pageNavigation->setLimit( 10 );


TTransaction::close();
$this->loaded = TRUE; //Grid carregada

}
catch (Exception $e)
{
new TMessage('error', $e->getMessage());
TTransaction::rollback();
}

}




Código completo:

  1. <?php
  2. /**
  3.  * TitularMestreDetalheForm Master/Detail
  4.  * @author  <your name here>
  5.  */
  6. class TitularMestreDetalheForm extends TPage
  7. {
  8.     private $notebook;
  9.     private $form;
  10.     private $form_item;
  11.     //private $cartgrid;
  12.     private $loaded;
  13.   
  14.     /**
  15.     * Class constructor
  16.     * Creates the page
  17.     */
  18.     function __construct$param )
  19.     {
  20.         parent::__construct();
  21.         
  22.         //criando notebook
  23.         //$this->notebook = new BootstrapNotebookWrapper( new TNotebook(1100,500) );
  24.         $this->notebook = new TNotebook(1100,500);
  25.         
  26.         //criando formulario
  27.         
  28.         $this->form = new TForm;
  29.         
  30.         //adicionando o notebook dentro do form
  31.         $this->form->add($this->notebook);
  32.         
  33.         //Criando o componente HTML
  34.         $html  = new THtmlEditor('observacao');
  35.         $html->setSize(900400);
  36.         //criando tabela para adicionar ao notebook
  37.         $page1 = new TTable;
  38.         $page2 = new TTable;
  39.         $page3 = new TTable;
  40.         $page1-> width '99%';
  41.         //criando um Panel
  42.         $panel1 = new TPanel(1000,450);
  43.         $page1->addRowSet($panel1);
  44.         
  45.         //criando Panel e add na page3
  46.         //$panel2 = new TPanel(1000,200);
  47.         //$page3->addRowSet($panel2);
  48.         
  49.         //adicionando duas páginas ao notebook
  50.         $this->notebook->appendPage('Dados Pessoais'$page1);
  51.         $this->notebook->appendPage('Observação'$page2);
  52.         $this->notebook->appendPage('Composição Familiar'$page3);
  53.         
  54.         //-----------------------------------------------------------> view do Titular
  55.         // criando os tipos de entrada do formulário
  56.         2612                 = new TEntry('id');
  57.         $nome               = new TEntry('nome');                
  58.         $apelido            = new TEntry('apelido');             
  59.         $cpf                = new TEntry('cpf');                 
  60.         $nis                = new TEntry('nis');                 
  61.         $celular1           = new TEntry('celular1');            
  62.         $celular2           = new TEntry('celular2');           
  63.         $telefone           = new TEntry('telefone');            
  64.         $contato            = new TEntry('contato');               
  65.         $sexo               = new TCombo('sexo');                
  66.         $pai                = new TEntry('pai');                 
  67.         $mae                = new TEntry('mae');                 
  68.         $rg                 = new TEntry('rg');                  
  69.         $viarg              = new TEntry('viarg');               
  70.         $datemisrg          = new TDate('datemisrg');            
  71.         $ufrg               = new TCombo('ufrg');                
  72.         $orgexprg           = new TEntry('orgexprg');           
  73.         $datnasc            = new TDate('datnasc');              
  74.         $naturalidade       = new TEntry('naturalidade');        
  75.         $endereco           = new TEntry('endereco');            
  76.         $numero             = new TEntry('numero');              
  77.         $complemento        = new TEntry('complemento');        
  78.         $pontoref           = new TEntry('pontoref');           
  79.         $cep                = new TEntry('cep');                 
  80.         $localtrabalho      = new TEntry('localtrabalho');       
  81.         $qualnecespecial    = new TEntry('qualnecespecial');     
  82.         $necadap            = new TCombo('necadap');            
  83.         $qtdpesres          = new TSpinner('qtdpesres');         
  84.         $valorbeneficio     = new TEntry('valorbeneficio');      
  85.         $desistente         = new TCombo('desistente');          
  86.         $declaracao         = new TCombo('declaracao');          
  87.         $situacaoderua      = new TCombo('situacaoderua');       
  88.         $assocmorador       = new TEntry('assocmorador');        
  89.         $participa          = new TCombo('participa');           
  90.         $situacao_trab_id   = new TDBCombo('situacao_trab_id','permission','SituacaoTrab','id','situacaotrab');    
  91.         $escolaridade_id    = new TDBCombo('escolaridade_id','permission','Escolaridade','id','escolaridade');      
  92.         $ocupacaoprof_id    = new TDBCombo('ocupacaoprof_id','permission','Ocupacaoprof','id','descricao');        
  93.         $tipo_nec_esp_id    = new TDBCombo('tipo_nec_esp_id','permission','TipoNecEsp','id','necespecial');        
  94.         $tempo_trabalho_id  = new TDBCombo('tempo_trabalho_id','permission','TempoTrabalho','id','TempoTrab');    
  95.         $renda_mensal_id    = new TDBCombo('renda_mensal_id','permission','RendaMensal','id','renda');              
  96.         $estado_civil_id    = new TDBCombo('estado_civil_id','permission','EstadoCivil','id','estadocivil');        
  97.         $beneficio_id       = new TDBCombo('beneficio_id','permission','Beneficio','id','beneficio');              
  98.         $sitconjugal_id     = new TDBCombo('sitconjugal_id','permission','Sitconjugal','id','sitconjugal');         
  99.         $bairro_id          = new TDBCombo('bairro_id','permission','Bairro','id','bairro');                        
  100.         $logradouro_id      = new TDBCombo('logradouro_id','permission','Logradouro','id','descricao');             
  101.         $rendatotal         = new TEntry('rendatotal');         
  102.         $renda_comp_id      = new TDBCombo('renda_comp_id','permission','RendaCompl','id','tipoderenda');     
  103.         $observacao         $html;    
  104.         
  105.         //desabilitando o campo código
  106.         2612->setEditable(False);
  107.         
  108.         //adicionando itens ao combo sexo
  109.         $combosexo_items = array(1=>"M",2=>"F");
  110.         $sexo->addItems($combosexo_items);
  111.         //adicionando itens ao combo UF
  112.         $comboufrg_items = array(1=>"SP",2=>"RJ",3=>"AC",4=>"AL",5=>"AM",
  113.                                  6=>"AP",7=>"BA",8=>"CE",9=>"DF",10=>"ES",
  114.                                  11=>"GO",12=>"MA",13=>"MG",14=>"MS",15=>"MT",
  115.                                  16=>"PA",17=>"PB",18=>"PE",19=>"PI",20=>"PR",
  116.                                  21=>"RN",22=>"RO",23=>"RR",24=>"RS",25=>"SC",
  117.                                  26=>"SE");
  118.         $ufrg->addItems($comboufrg_items);                          
  119.         //adicionando opções de sim/nao ao combo
  120.         $combo_items = array(1=>"Sim",2=>"Não");
  121.         
  122.         //adicionando itens ao combo nec.adap/declaração/desistente/situação de rua/participa
  123.         $necadap->addItems($combo_items);
  124.         $declaracao->addItems($combo_items);
  125.         $desistente->addItems($combo_items);
  126.         $situacaoderua->addItems($combo_items);
  127.         $participa->addItems($combo_items);
  128.         
  129.         //valores para o spinner Qt. Pessoas Resid.
  130.         $qtdpesres->setRange(0,20,1);
  131.         // definindo o tamanho dos campos
  132.         2612->setSize(70);                                        
  133.         $nome->setSize(260);                                        
  134.         $apelido->setSize(140);                                    
  135.         $cpf->setSize(111);                                        
  136.         $nis->setSize(111);                                      
  137.         $celular1->setSize(115);                                 
  138.         $celular2->setSize(115);                                 
  139.         $telefone->setSize(105);                                 
  140.         $contato->setSize(145);                                     
  141.         $sexo->setSize(44);                                      
  142.         $pai->setSize(260);                                      
  143.         $mae->setSize(260);                                      
  144.         $rg->setSize(140);                                       
  145.         $viarg->setSize(55);                                     
  146.         $datemisrg->setSize(80);                                  
  147.         $ufrg->setSize(55);                                      
  148.         $orgexprg->setSize(95);                                  
  149.         $datnasc->setSize(80);                                   
  150.         $naturalidade->setSize(175);                             
  151.         $endereco->setSize(205);                                 
  152.         $numero->setSize(80);                                     
  153.         $complemento->setSize(90);                               
  154.         $pontoref->setSize(290);                                 
  155.         $cep->setSize(80);                                       
  156.         $localtrabalho->setSize(250);                             
  157.         $tipo_nec_esp_id->setSize(180);                           
  158.         $qualnecespecial->setSize(180);                           
  159.         $necadap->setSize(58);                                      
  160.         $qtdpesres->setSize(62);                                  
  161.         $valorbeneficio->setSize(73);                            
  162.         $declaracao->setSize(67);                                
  163.         $situacaoderua->setSize(67);                              
  164.         $desistente->setSize(67);                                  
  165.         $assocmorador->setSize(382);                             
  166.         $participa->setSize(67);                                 
  167.         $situacao_trab_id->setSize(195);                         
  168.         $escolaridade_id->setSize(260);                          
  169.         $ocupacaoprof_id->setSize(340);                          
  170.         $tempo_trabalho_id->setSize(147);                         
  171.         $renda_mensal_id->setSize(180);                          
  172.         $estado_civil_id->setSize(100);                          
  173.         $sitconjugal_id->setSize(100);                           
  174.         $beneficio_id->setSize(185);                             
  175.         $bairro_id->setSize(150);                                 
  176.         $logradouro_id->setSize(180);                             
  177.         $rendatotal->setSize(105);                               
  178.         $renda_comp_id->setSize(180);                             
  179.         
  180.         //adicionando os campos no Panel da tabela1
  181.         $panel1->put(new TLabel('Codigo'),                    20,   16);
  182.         $panel1->put(new TLabel('Nome do Titular'),           95,   16);     
  183.         $panel1->put(new TLabel('Apelido'),                  360,   16);     
  184.         $panel1->put(new TLabel('Sexo'),                     505,   16);     
  185.         $panel1->put(new TLabel('Escolaridade'),             555,   16);     
  186.         $panel1->put(new TLabel('C.P.F'),                    820,   16);     
  187.         $panel1->put(new TLabel('Nis'),                      937,   16);     
  188.         $panel1->put(new TLabel('Celular-1'),                 20,   71);     
  189.         $panel1->put(new TLabel('Celular-2'),                140,   71);     
  190.         $panel1->put(new TLabel('Telefone'),                 260,   71);     
  191.         $panel1->put(new TLabel('Contato'),                  370,   71);     
  192.         $panel1->put(new TLabel('Pai'),                      520,   71);     
  193.         $panel1->put(new TLabel('Mãe'),                      785,   71);     
  194.         $panel1->put(new TLabel('Nº.Ident.'),                 20,  126);     
  195.         $panel1->put(new TLabel('Via RG'),                   165126);      
  196.         $panel1->put(new TLabel('Data Emis.'),               225126);      
  197.         $panel1->put(new TLabel('Órgão Exp.'),               335126);      
  198.         $panel1->put(new TLabel('UF.RG'),                    435126);      
  199.         $panel1->put(new TLabel('Data Nasc.'),               495126);      
  200.         $panel1->put(new TLabel('Naturalidade'),             600126);      
  201.         $panel1->put(new TLabel('CEP'),                      780126);      
  202.         $panel1->put(new TLabel('Logradouro'),               865126);      
  203.         $panel1->put(new TLabel('Endereco'),                  20181);     
  204.         $panel1->put(new TLabel('Bairro'),                   230181);     
  205.         $panel1->put(new TLabel('Número'),                   385181);     
  206.         $panel1->put(new TLabel('Complemento'),              470181);     
  207.         $panel1->put(new TLabel('Ponto de Referencia'),      565181);     
  208.         $panel1->put(new TLabel('Portador de Nec.Esp'),      860181);     
  209.         $panel1->put(new TLabel('Qual Nec.Esp.'),             20236);     
  210.         $panel1->put(new TLabel('Nec.Adap'),                 200236);     
  211.         $panel1->put(new TLabel('Estado Civil'),             268236);     
  212.         $panel1->put(new TLabel('Sit. Conjugal'),            372236);     
  213.         $panel1->put(new TLabel('Qt.P.Resid'),               477236);      
  214.         $panel1->put(new TLabel('Ocupação / Profissão'),     548236);      
  215.         $panel1->put(new TLabel('Tempo de Trab.'),           893236);      
  216.         $panel1->put(new TLabel('Situação Trabalhista'),      20291);      
  217.         $panel1->put(new TLabel('Local Trabalho'),           220291);      
  218.         $panel1->put(new TLabel('Renda Mensal'),             475291);      
  219.         $panel1->put(new TLabel('Renda Complem'),            660291);      
  220.         $panel1->put(new TLabel('Beneficio'),                845291);      
  221.         $panel1->put(new TLabel('Val.Benef'),                20346);      
  222.         $panel1->put(new TLabel('Renda.Tot'),                135346);     
  223.         $panel1->put(new TLabel('Declaração'),               210346);     
  224.         $panel1->put(new TLabel('Sit.Rua'),                  285346);     
  225.         $panel1->put(new TLabel('Desist.'),                  360346);     
  226.         $panel1->put(new TLabel('Associação de Moradores'),  432346);     
  227.         $panel1->put(new TLabel('Participa'),                820346);     
  228.         
  229.         ## inserindo campos na pagina 1
  230.         $panel1->put(2612,                20,  35);
  231.         $panel1->put($nome,              95,  35);
  232.         $panel1->put($apelido,          360,  35);
  233.         $panel1->put($sexo,             505,  35);
  234.         $panel1->put($escolaridade_id,  555,  35);
  235.         $panel1->put($cpf,              820,  35);
  236.         $panel1->put($nis,              937,  35);
  237.         $panel1->put($celular1,          20,  90);
  238.         $panel1->put($celular2,         140,  90);
  239.         $panel1->put($telefone,         260,  90);
  240.         $panel1->put($contato,          370,  90);
  241.         $panel1->put($pai,              520,  90);
  242.         $panel1->put($mae,              785,  90);
  243.         $panel1->put($rg,                20145);
  244.         $panel1->put($viarg,            165145);
  245.         $panel1->put($datemisrg,        225145);
  246.         $panel1->put($orgexprg,         335145);
  247.         $panel1->put($ufrg,             435145);
  248.         $panel1->put($datnasc,          495145);
  249.         $panel1->put($naturalidade,     600145);
  250.         $panel1->put($cep,              780145);
  251.         $panel1->put($logradouro_id,    865145);
  252.         $panel1->put($endereco,          20200);
  253.         $panel1->put($bairro_id,        230200);
  254.         $panel1->put($numero,           385200);
  255.         $panel1->put($complemento,      470200);
  256.         $panel1->put($pontoref,         565200);
  257.         $panel1->put($tipo_nec_esp_id,  860200);
  258.         $panel1->put($qualnecespecial,   20255);
  259.         $panel1->put($necadap,          205255);
  260.         $panel1->put($estado_civil_id,  268255);
  261.         $panel1->put($sitconjugal_id,   372255);
  262.         $panel1->put($qtdpesres,        477255);
  263.         $panel1->put($ocupacaoprof_id,  548255);
  264.         $panel1->put($tempo_trabalho_id,893255);
  265.         $panel1->put($situacao_trab_id,  20310);
  266.         $panel1->put($localtrabalho,    220310);
  267.         $panel1->put($renda_mensal_id,  475310);
  268.         $panel1->put($renda_comp_id,    660310);
  269.         $panel1->put($beneficio_id,     845310);
  270.         $panel1->put($valorbeneficio,   20365);
  271.         $panel1->put($rendatotal,       100365);
  272.         $panel1->put($declaracao,       210365);
  273.         $panel1->put($situacaoderua,    285365);
  274.         $panel1->put($desistente,       360365);
  275.         $panel1->put($assocmorador,     432365);
  276.         $panel1->put($participa,        820365);
  277.         //-----------------------------------------------------------> fim da view do Titular
  278.         //-----------------------------------------------------------> View da Composicao Familiar
  279.         
  280.         // criando os tipos de entrada do formulário
  281.         //$compf_nome               = new TEntry('compf_nome');
  282.         //$compf_Idade              = new TSpinner('compf_Idade');
  283.         //$compf_renda              = new TEntry('compf_renda');
  284.         //$compf_rendacomp_id       = new TDBCombo('renda_comp_id','permission','RendaCompl','id','tipoderenda');
  285.         //$compf_valbenef           = new TEntry('compf_valbenef');
  286.         //$compf_localtrabalho      = new TEntry('compf_localtrabalho');
  287.         //$compf_titular_id         = new TEntry('compf_titular_id');
  288.         //$compf_situacao_trab_id   = new TDBCombo('compf_situacaotrab_id','permission','SituacaoTrab','id','situacaotrab');
  289.         //$compf_escolaridade_id    = new TDBCombo('compf_escolaridade_id','permission','Escolaridade','id','escolaridade');//260
  290.         //$compf_ocupacaoprof_id    = new TDBCombo('compf_ocupacaoprof_id','permission','Ocupacaoprof','id','descricao');       //260  
  291.         //$compf_tipo_nec_esp_id    = new TDBCombo('tipo_nec_esp_id','permission','TipoNecEsp','id','necespecial');
  292.         //$compf_tempo_trabalho_id  = new TDBCombo('compf_tempo_trabalho_id','permission','TempoTrabalho','id','TempoTrab');
  293.         //$compf_renda_mensal_id    = new TDBCombo('compf_renda_mensal_id','permission','RendaMensal','id','renda');  
  294.         //$compf_renda_compl_id     = new TDBCombo('compf_renda_comp_id','permission','RendaCompl','id','tipoderenda');  
  295.         //$compf_grauparent_id      = new TDBCombo('compf_grauparent_id','permission','Grauparent','id','grauparentesco');
  296.         //$compf_estado_civil_id    = new TDBCombo('compf_estado_civil_id','permission','EstadoCivil','id','estadocivil');  
  297.         //$compf_sitconjugal_id     = new TDBCombo('compf_sitconjugal_id','permission','Sitconjugal','id','sitconjugal'); 
  298.         //$compf_beneficio_id       = new TDBCombo('compf_beneficio_id','permission','Beneficio','id','beneficio');
  299.         //$compf_qualnecespecial    = new TEntry('compf_qualnecespecial');
  300.         
  301.         //validando campo
  302.         //$compf_titular_id->addValidation('compf_titular_id', new TRequiredValidator);
  303.         //valores para o spinner Qt. Pessoas Resid.
  304.         //$compf_Idade->setRange(0,120,1);
  305.         
  306.         // definindo o tamanho dos campos
  307.         //2612->setSize(80);                                        //ok
  308.         //$compf_nome              -> setSize(240);         
  309.         //$compf_Idade             -> setSize(55);        
  310.         //$compf_renda             -> setSize(100);        
  311.         //$compf_rendacomp_id      -> setSize(195);      
  312.         //$compf_valbenef          -> setSize(100);          
  313.         //$compf_localtrabalho     -> setSize(310);     
  314.         //$compf_titular_id        -> setSize(65);
  315.         //$compf_situacao_trab_id  -> setSize(210);                         
  316.         //$compf_escolaridade_id   -> setSize(300);                          
  317.         //$compf_ocupacaoprof_id   -> setSize(340);                          
  318.         //$compf_tipo_nec_esp_id   -> setSize(180);                           
  319.         //$compf_tempo_trabalho_id -> setSize(151);                         
  320.         //$compf_renda_mensal_id   -> setSize(180);
  321.         //$compf_renda_compl_id    -> setSize(180);                          
  322.         //$compf_grauparent_id     -> setSize(150);
  323.         //$compf_estado_civil_id   -> setSize(100);      
  324.         //$compf_sitconjugal_id    -> setSize(100); 
  325.         //$compf_beneficio_id      -> setSize(120);
  326.         //$compf_qualnecespecial   -> setSize(200);
  327.         
  328.         //formatação de dinheiro
  329.         //$compf_renda->setNumericMask(2, '.', ',');
  330.         
  331.         // add uma linha para o título
  332.         //$row  = $table_item->addRow();
  333.         //$row->class = 'tformtitle'; // CSS class
  334.         //$cell = $row->addCell( new TLabel('Tabela de Familiáres'));
  335.         //$cell->colspan = 4;
  336.         
  337.         //adicionando os campos no Panel da tabela1
  338.         //$panel2->put(new TLabel('Cód.Titular'),          20, 16);
  339.         //$panel2->put(new TLabel('Nome'),                 92, 16);                     
  340.         //$panel2->put(new TLabel('Idade'),               340, 16);                     
  341.         //$panel2->put(new TLabel('Parentesco'),          403, 16);             
  342.         //$panel2->put(new TLabel('Estado Civil'),        560, 16);             
  343.         //$panel2->put(new TLabel('Sit.Conjugal'),        665, 16);             
  344.         //$panel2->put(new TLabel('Escolaridade'),        770, 16);  
  345.         //$panel2->put(new TLabel('Tp.Deficiencia'),       20, 71);     //305
  346.         //$panel2->put(new TLabel('Qual Necessidade'),    205, 71);
  347.         //$panel2->put(new TLabel('Ocupação / Profissão'),410, 71);
  348.         //$panel2->put(new TLabel('Local do Trabalho'),   755, 71);
  349.         //$panel2->put(new TLabel('Situação Trabalhista'), 20,126);     //191
  350.         //$panel2->put(new TLabel('Tempo de Trabalho'),   239,126);
  351.         //$panel2->put(new TLabel('Renda Mensal'),        396,126);
  352.         //$panel2->put(new TLabel('Renda Complementar'),  579,126);
  353.         //$panel2->put(new TLabel('Renda'),               764,126);                     
  354.         //$panel2->put(new TLabel('Val.Benef'),           870,126);
  355.         // criando ação para o botão de adição dos itens
  356.         //$buttonAddCompf = new TButton('add');
  357.         //$buttonAddCompf->setAction(new TAction(array($this, 'onAddItem')), 'Adicionar');
  358.         //$buttonAddCompf->setImage('ico_add.png');   
  359.         
  360.         ## inserindo campos na pagina 2
  361.         //$panel2->put($compf_titular_id,           20, 35);
  362.         //$panel2->put($compf_nome,                 92, 35);         
  363.         //$panel2->put($compf_Idade,               340, 35);        
  364.         //$panel2->put($compf_grauparent_id,       403, 35);           //130
  365.         //$panel2->put($compf_estado_civil_id,     560, 35);
  366.         //$panel2->put($compf_sitconjugal_id,      665, 35);
  367.         //$panel2->put($compf_escolaridade_id,     770, 35);
  368.         //$panel2->put($compf_tipo_nec_esp_id,      20, 90);
  369.         //$panel2->put($compf_qualnecespecial,     205, 90);
  370.         //$panel2->put($compf_ocupacaoprof_id,     410, 90);
  371.         //$panel2->put($compf_localtrabalho,       755, 90);
  372.         //$panel2->put($compf_situacao_trab_id,     20,145); 
  373.         //$panel2->put($compf_tempo_trabalho_id,   239,145);
  374.         //$panel2->put($compf_renda_mensal_id,     396,145);
  375.         //$panel2->put($compf_renda_compl_id,      579,145);
  376.         //$panel2->put($compf_renda,               764,145);        
  377.         //$panel2->put($compf_valbenef,            870,145);  
  378.         //$panel2->put($buttonAddCompf,            975,145);  
  379.         
  380.         
  381.         // criando os itens do Grid
  382.         //$this->cartgrid = new TQuickGrid;
  383.         //$this->cartgrid->class = 'tdatagrid_table customized-table';
  384.         //$this->cartgrid->makeScrollable();
  385.         //$this->cartgrid->setHeight( 120 );
  386.         
  387.         //parent::include_css('app/resources/custom-table.css');   
  388.         
  389.         //$this->cartgrid->addQuickColumn('ID', 'compf_titular_id', 'left', 25);
  390.         //$this->cartgrid->addQuickColumn('Nome', 'compf_nome', 'left', 100);
  391.         //$this->cartgrid->addQuickColumn('Idade', 'compf_Idade', 'left', 50);
  392.         //$this->cartgrid->addQuickColumn('Grau Parent.', 'compf_grauparent_id', 'left', 100);
  393.         //$this->cartgrid->addQuickColumn('Est.Civil', 'compf_estado_civil_id', 'left', 100);
  394.         //$this->cartgrid->addQuickColumn('Sit.Conj', 'compf_sitconjugal_id', 'left', 100);
  395.         //$this->cartgrid->addQuickColumn('Escolaridade', 'compf_escolaridade_id', 'left', 100);
  396.         //$this->cartgrid->addQuickColumn('Tp.Nec.Esp', 'compf_tipo_nec_esp_id', 'left', 25);
  397.         //$this->cartgrid->addQuickColumn('Qual Nec.Esp', 'compf_qualnecespecial', 'left', 25);
  398.         //$this->cartgrid->addQuickColumn('Ocup/Prof', 'compf_ocupacaoprof_id', 'left', 25);
  399.         //$this->cartgrid->addQuickColumn('Loc.Trabalho', 'compf_localtrabalho', 'left', 25);
  400.         //$this->cartgrid->addQuickColumn('Sit.Trab.', 'compf_situacao_trab_id', 'left', 25);
  401.         //$this->cartgrid->addQuickColumn('Tempo Trab.', 'compf_tempo_trabalho_id', 'left', 25);
  402.         //$this->cartgrid->addQuickColumn('Renda mensal', 'compf_renda_mensal_id', 'left', 25);
  403.         //$this->cartgrid->addQuickColumn('Renda Compl.', 'compf_renda_compl_id', 'left', 25);
  404.         //$this->cartgrid->addQuickColumn('Renda', 'compf_renda', 'right', 25);
  405.         //$this->cartgrid->addQuickColumn('Val.Benef.', 'compf_valbenef', 'right', 25);
  406.         
  407.         //$this->cartgrid->addQuickAction('Delete', new TDataGridAction(array($this, 'onDelete')), 'product_id', 'ico_delete.png');
  408.         //$this->cartgrid->createModel();
  409.         
  410.         
  411.         $this->datagrid = new TDataGrid;
  412.         $compf_id   = new TDataGridColumn('id','ID','left',80);
  413.         $compf_nome = new TDataGridColumn('compf_nome','Nome dos Dependentes','left',300);
  414.         $parentesco = new TDataGridColumn('grauparent->grauparentesco','Parentesco','left',100);
  415.         
  416.         $this->datagrid->addColumn$compf_id );
  417.         $this->datagrid->addColumn$compf_nome );
  418.         $this->datagrid->addColumn$parentesco );
  419.         
  420.         $action1 = new TDataGridAction( array('CompFamForm','onEdit' ) );
  421.         $action1->setLabel('Editar');
  422.         $action1->setImage('ico_edit.png');
  423.         $action1->setField('id');
  424.         
  425.         $this->datagrid->addAction$action1 );
  426.         $this->datagrid->createModel();
  427.         
  428.         $this->pageNavigation = new TPageNavigation;
  429.         $this->pageNavigation->setAction(new TAction(array($this'onReload')));
  430.         $this->pageNavigation->setWidth$this->datagrid->getWidth() );
  431.         
  432.         
  433.         $page3->addRowSet($this->datagrid);
  434.         $page3->addRowSet($this->pageNavigation);
  435.         
  436.         //-----------------------------------------------------------> Fim da View Composicao Familiar        
  437.         //adicionando Editor HTML na aba2
  438.         $page2->addRowSet($html);
  439.         //adicionando butões na página 0
  440.         $butpage0_avc = new TButton('action0');
  441.         $butpage0_avc->setAction( new TAction( array($this,'onStep2')),'Avançar');
  442.         $butpage0_avc->setImage('fa:save.png');
  443.         $butpage0_list = new TButton('list');
  444.         $butpage0_list->setAction(new TAction(array('TitularList''onReload')), 'Consultar');
  445.         //adicionando butões na página 1
  446.         $butpage1_avc = new TButton('action1');
  447.         $butpage1_avc->setAction( new TAction( array($this,'onStep3')),'Avançar');
  448.         $butpage1_vlt = new TButton('action2');
  449.         $butpage1_vlt->setAction( new TAction( array($this,'onStep1')),'Voltar');
  450.         $butpage1_slv = new TButton('action3');
  451.         $butpage1_slv->setAction( new TAction( array($this,'onSave')),'Salvar');
  452.         
  453.         
  454.         $page1->addRowSet( array($butpage0_avc$butpage0_list));
  455.         $page2->addRowSet( array($butpage1_avc$butpage1_vlt$butpage1_slv) );
  456.         
  457.         //capturando os campos do formulário 
  458.         $this->form->setFields(array(2612,$nome,$apelido,$sexo,$escolaridade_id,$cpf,$nis,$celular1,$celular2,$telefone,$contato,$pai,$mae,
  459.                                      $rg,$viarg,$datemisrg,$orgexprg,$ufrg,$datnasc,$naturalidade,$logradouro_id,$cep,$endereco,$bairro_id,
  460.                                      $numero,$complemento,$pontoref,$tipo_nec_esp_id,$qualnecespecial,$necadap,$estado_civil_id,$sitconjugal_id,
  461.                                      $qtdpesres,$ocupacaoprof_id,$tempo_trabalho_id,$situacao_trab_id,$localtrabalho,$renda_mensal_id,
  462.                                      $renda_comp_id,$beneficio_id,$valorbeneficio,$rendatotal,$declaracao,$situacaoderua,$desistente,
  463.                                      $assocmorador,$participa,$butpage0_avc$butpage0_list,$butpage1_avc,$butpage1_vlt,$butpage1_slv,
  464.                                      $html));
  465.         
  466.         parent::add($this->form);
  467.     }
  468.     
  469.     public function onStep2()
  470.     {
  471.         $data $this->form->getData();
  472.         $this->form->setData($data);
  473.         $this->notebook->setCurrentPage);
  474.     }
  475.     
  476.     public function onStep3()
  477.     {
  478.         $data $this->form->getData();
  479.         $this->form->setData($data);
  480.         $this->notebook->setCurrentPage);
  481.     }
  482.     public function onStep1()
  483.     {
  484.         $this->notebook->setCurrentPage);
  485.         $this->form->setData($this->form->getData());
  486.     
  487.     }
  488.     
  489.     
  490.     public function onSave($param)
  491.     {
  492.         $this->notebook->setCurrentPage);  //página atual de salvamento
  493.         try
  494.         {
  495.             TTransaction::open('permission'); // open a transaction
  496.             
  497.             /**
  498.             // Enable Debug logger for SQL operations inside the transaction
  499.             TTransaction::setLogger(new TLoggerSTD); // standard output
  500.             TTransaction::setLogger(new TLoggerTXT('log.txt')); // file
  501.             **/
  502.             
  503.             $this->form->validate();                // valida dados do form
  504.             
  505.             $object = new Titular;                  // cria os objetos em branco
  506.             $data $this->form->getData();         // pega dados do form como array
  507.             $object->fromArray( (array) $data);     // lê os objetos do array
  508.             $object->store();                       // salva os objetos
  509.             
  510.             // get the generated id
  511.             $data->id $object->id;
  512.             
  513.             $this->form->setData($data);             // preenche o formulário
  514.             TTransaction::close();                   // fecha a transação
  515.             
  516.             new TMessage('info'TAdiantiCoreTranslator::translate('Record saved'));
  517.         }
  518.         catch (Exception $e)                                     // in case of exception
  519.         {
  520.             new TMessage('error'$e->getMessage());             // mostra os erros de exceção
  521.             $this->form->setData$this->form->getData() );      // continua com os dados
  522.             TTransaction::rollback();                            // undo all pending operations
  523.         }
  524.     }
  525.     
  526.     /**
  527.      * Load object to form data
  528.      * @param $param Request
  529.      */
  530.     public function onEdit$param )
  531.     {
  532.         try
  533.         {
  534.             if (isset($param['key']))
  535.             {
  536.                 $key $param['key'];                      // pega a chave do parametro
  537.                 TTransaction::open('permission');          // abre a transação
  538.                 $object = new Titular($key);               // instancia o registro
  539.                 $this->form->setData($object);             // preenche o formulário
  540.                 TTransaction::close();                     // fecha a transação
  541.             }
  542.             else
  543.             {
  544.                 $this->form->clear();
  545.             }
  546.         }
  547.         catch (Exception $e// in case of exception
  548.         {
  549.             new TMessage('error'$e->getMessage()); // shows the exception error message
  550.             TTransaction::rollback(); // undo all pending operations
  551.         }
  552.     }
  553.     
  554.     
  555.      /**
  556.      * Add a ComposicaoFamiliar into the cart
  557.      */
  558.     public function onAddItem()
  559.     {
  560.         try
  561.         {
  562.             //$this->form_item->validate(); // validate form data
  563.             //
  564.             //$items = TSession::getValue('items'); // get items from session
  565.             //$item = $this->form_item->getData('CompfItem');
  566.             //$items[ $item->product_id ] = $item; // add the item
  567.             //TSession::setValue('items', $items); // store back tthe session
  568.             //$this->form_item->clear(); // clear form
  569.             //$this->onReload(); // reload data
  570.         }
  571.         catch (Exception $e// in case of exception
  572.         {
  573.             new TMessage('error''<b>Error</b> ' $e->getMessage());
  574.         }
  575.     }    
  576.     
  577.     /**
  578.      * Remove a product from the cart
  579.      */
  580.     public function onDelete($param)
  581.     {
  582.         // get the cart objects from session
  583.         //$items = TSession::getValue('items');
  584.         //unset($items[ $param['key'] ]); // remove the product from the array
  585.         //TSession::setValue('items', $items); // put the array back to the session
  586.         
  587.         // reload datagrid
  588.         $this->onReloadfunc_get_arg(0) );
  589.     }
  590.     
  591.     // função reoload da Grid
  592.     public function onReload$param )        //$param = NULL
  593.     {
  594.          try
  595.          {
  596.             //-------------------------------------------------------------------
  597.             //$key = TSession::getValue('id');
  598.             //-------------------------------------------------------------------
  599.             TTransaction::open('permission');
  600.             $repository = new TRepository('CompFam');
  601.             $criteria = new TCriteria;
  602.             $criteria->setProperties$param );
  603.             $criteria->add(new TFilter('compf_titular_id','=','1'));
  604.             $criteria->setProperty('limit',10);
  605.             
  606.             $objects $repository->load$criteria );
  607.             $this->datagrid->clear();
  608.             
  609.             if($objects)
  610.             {
  611.                 foreach($objects as $object)
  612.                 {
  613.                      $this->datagrid->addItem$object );   
  614.                 }
  615.             }
  616.             
  617.             $criteria->resetProperties();
  618.             $count $repository->count$criteria );
  619.             
  620.             $this->pageNavigation->setCount$count );
  621.             $this->pageNavigation->setProperties$param );
  622.             $this->pageNavigation->setLimit10 );
  623.             
  624.             
  625.             TTransaction::close();
  626.             $this->loaded TRUE;   //Grid carregada
  627.          
  628.          }
  629.          catch (Exception $e)
  630.          {
  631.              new TMessage('error'$e->getMessage());
  632.              TTransaction::rollback();
  633.          }   
  634.     
  635.     }
  636.     
  637.     
  638.     public function show()
  639.     {
  640.         if ( !$this->loaded )                      //se o Grid não foi carregado
  641.         {
  642.             $this->onReloadfunc_get_arg(0) );    //primeiro parâmetro vai para o onReload
  643.         }    
  644.         parent::show();
  645.     }
  646.     
  647. }        
  648. e nesse trechoquando eu vou pra outra página que volto com o botão listarda classe CompFamFormele limpa completamente o formulário TitularMestreDetalheForm
  649.         $this->form->addQuickAction('Retornar',  new TAction(array('TitularMestreDetalheForm''onReload')), 'ico_datagrid.png');
  650. código completo:
  1. <?php
  2. /**
  3.  * CompFamForm Form
  4.  * @author  <your name here>
  5.  */
  6. class CompFamForm extends TPage
  7. {
  8.     protected $form// form
  9.     
  10.     /**
  11.      * Form constructor
  12.      * @param $param Request
  13.      */
  14.     public function __construct$param )
  15.     {
  16.         parent::__construct();
  17.         
  18.         // creates the form
  19.         $this->form = new TQuickForm('form_CompFam');
  20.         $this->form->class 'tform'// change CSS class
  21.         
  22.         $this->form->style 'display: table;width:100%'// change style
  23.         
  24.         // define the form title
  25.         $this->form->setFormTitle('Cadastro dos componentes da família');
  26.         
  27.         // create the form fields
  28.         2612 = new TEntry('id');
  29.         $compf_nome = new TEntry('compf_nome');
  30.         $compf_Idade = new TSpinner('compf_Idade');
  31.         $compf_renda = new TEntry('compf_renda');
  32.         $compf_valbenef = new TEntry('compf_valbenef');
  33.         $compf_localtrabalho = new TEntry('compf_localtrabalho');
  34.         $compf_titular_id = new TDBCombo('compf_titular_id','permission','Titular','id','nome');
  35.         $compf_renda_comp_id = new TDBCombo('compf_renda_comp_id','permission','RendaCompl','id','tipoderenda');
  36.         $compf_situacaotrab_id = new TDBCombo('compf_situacaotrab_id','permission','SituacaoTrab','id','situacaotrab');
  37.         $compf_escolaridade_id = new TDBCombo('compf_escolaridade_id','permission','Escolaridade','id','escolaridade');
  38.         $compf_ocupacaoprof_id = new TDBCombo('compf_ocupacaoprof_id','permission','Ocupacaoprof','id','descricao');
  39.         $compf_tipo_nec_esp_id = new TDBCombo('compf_tipo_nec_esp_id','permission','TipoNecEsp','id','necespecial');
  40.         $compf_tempo_trabalho_id = new TDBCombo('compf_tempo_trabalho_id','permission','TempoTrabalho','id','TempoTrab');
  41.         $compf_renda_mensal_id = new TDBCombo('compf_renda_mensal_id','permission','RendaMensal','id','renda');
  42.         $compf_grauparent_id = new TDBCombo('compf_grauparent_id','permission','Grauparent','id','grauparentesco');
  43.         $compf_estado_civil_id = new TDBCombo('compf_estado_civil_id','permission','EstadoCivil','id','estadocivil');
  44.         $compf_sitconjugal_id = new TDBCombo('compf_sitconjugal_id','permission','Sitconjugal','id','sitconjugal');
  45.         $compf_qualnecespecial = new TEntry('compf_qualnecespecial');
  46.         // add the fields
  47.         $this->form->addQuickField('Id'2612,  100 );
  48.         $this->form->addQuickField('Cód.Titular'$compf_titular_id,  400 );
  49.         $this->form->addQuickField('Nome'$compf_nome,  400 );
  50.         $this->form->addQuickField('Idade'$compf_Idade,  100 );
  51.         $this->form->addQuickField('Renda'$compf_renda,  100 );
  52.         $this->form->addQuickField('Valbenef'$compf_valbenef,  100 );
  53.         $this->form->addQuickField('Localtrabalho'$compf_localtrabalho,  300 );
  54.         $this->form->addQuickField('Renda Compl.'$compf_renda_comp_id,  300 );
  55.         $this->form->addQuickField('Situacao trabalho'$compf_situacaotrab_id,  300 );
  56.         $this->form->addQuickField('Escolaridade'$compf_escolaridade_id,  500 );
  57.         $this->form->addQuickField('Ocupacao/Prof'$compf_ocupacaoprof_id,  500 );
  58.         $this->form->addQuickField('Tp.Nec.Esp'$compf_tipo_nec_esp_id,  300 );
  59.         $this->form->addQuickField('Tempo de Trabalho'$compf_tempo_trabalho_id,  300 );
  60.         $this->form->addQuickField('Renda Mensal'$compf_renda_mensal_id,  300 );
  61.         $this->form->addQuickField('Grau Parentesco'$compf_grauparent_id,  300 );
  62.         $this->form->addQuickField('Estado Civil'$compf_estado_civil_id,  300 );
  63.         $this->form->addQuickField('Situacao Conjugal'$compf_sitconjugal_id,  300 );
  64.         $this->form->addQuickField('Qual nec.especial'$compf_qualnecespecial,  400 );
  65.         if (!empty(2612))
  66.         {
  67.             2612->setEditable(FALSE);
  68.             $compf_titular_id->setEditable(FALSE);
  69.         }
  70.         
  71.         //valores para o spinner Qt. Pessoas Resid.
  72.         $compf_Idade->setRange(0,120,1);
  73.         $compf_titular_id->addValidation('compf_titular_id', new TRequiredValidator);
  74.         $compf_renda_comp_id->addValidation('compf_renda_comp_id', new TRequiredValidator);
  75.         
  76.         
  77.         
  78.         /** samples
  79.          $this->form->addQuickFields('Date', array($date1, new TLabel('to'), $date2)); // side by side fields
  80.          $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
  81.          $fieldX->setSize( 100, 40 ); // set size
  82.          **/
  83.          
  84.         // create the form actions
  85.         $this->form->addQuickAction('Salvar',    new TAction(array($this'onSave')), 'fa:floppy-o');
  86.         $this->form->addQuickAction('Novo',      new TAction(array($this'onClear')), 'bs:plus-sign green');
  87.         $this->form->addQuickAction('Retornar',  new TAction(array('TitularMestreDetalheForm''onReload')), 'ico_datagrid.png');
  88.         
  89.         // vertical box container
  90.         $container = new TVBox;
  91.         $container->style 'width: 90%';
  92.         $container->add($this->form);
  93.         
  94.         parent::add($container);
  95.     }
  96.     /**
  97.      * Save form data
  98.      * @param $param Request
  99.      */
  100.     public function onSave$param )
  101.     {
  102.         try
  103.         {
  104.             TTransaction::open('permission'); // open a transaction
  105.             
  106.             /**
  107.             // Enable Debug logger for SQL operations inside the transaction
  108.             TTransaction::setLogger(new TLoggerSTD); // standard output
  109.             TTransaction::setLogger(new TLoggerTXT('log.txt')); // file
  110.             **/
  111.             
  112.             $this->form->validate(); // validate form data
  113.             
  114.             $object = new CompFam;  // create an empty object
  115.             $data $this->form->getData(); // get form data as array
  116.             $object->fromArray( (array) $data); // load the object with data
  117.             //var_dump($object);
  118.             //exit;
  119.             $object->store(); // save the object
  120.             
  121.             // get the generated id
  122.             $data->id $object->id;
  123.             
  124.             $this->form->setData($data); // fill form data
  125.             TTransaction::close(); // close the transaction
  126.             
  127.             new TMessage('info'TAdiantiCoreTranslator::translate('Record saved'));
  128.         }
  129.         catch (Exception $e// in case of exception
  130.         {
  131.             new TMessage('error'$e->getMessage()); // shows the exception error message
  132.             $this->form->setData$this->form->getData() ); // keep form data
  133.             TTransaction::rollback(); // undo all pending operations
  134.         }
  135.     }
  136.     
  137.     /**
  138.      * Clear form data
  139.      * @param $param Request
  140.      */
  141.     public function onClear$param )
  142.     {
  143.         $this->form->clear();
  144.     }
  145.     
  146.     /**
  147.      * Load object to form data
  148.      * @param $param Request
  149.      */
  150.     public function onEdit$param )
  151.     {
  152.         try
  153.         {
  154.             if (isset($param['key']))
  155.             {
  156.                 $key $param['key'];  // get the parameter $key
  157.                 TTransaction::open('permission'); // open a transaction
  158.                 $object = new CompFam($key); // instantiates the Active Record
  159.                 $this->form->setData($object); // fill the form
  160.                 TTransaction::close(); // close the transaction
  161.             }
  162.             else
  163.             {
  164.                 $this->form->clear();
  165.             }
  166.         }
  167.         catch (Exception $e// in case of exception
  168.         {
  169.             new TMessage('error'$e->getMessage()); // shows the exception error message
  170.             TTransaction::rollback(); // undo all pending operations
  171.         }
  172.     }
  173. }

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)


NR

Marcos, aí depende de como você está trabalhando. O valor do filtro está na sessão ou está vindo por parâmetro?
Por sessão:
  1. <?php
  2. $criteria->add(new TFilter('compf_titular_id','=',TSession::getValue('nomedachave'))); 
  3. ?>

Por parâmetro:
  1. <?php
  2. $criteria->add(new TFilter('compf_titular_id','=',$param['nomedachave'])); 
  3. ?>
MO

Pois é vem por Sessão, porém quando aperto o botão de avançar ele dá erro, e se clico nas abas normal, sem erro, também quando vou nos dependentes(CompFamForm) ele edita direitinho, porém tem um botão List, que é pra retornar ao formulário anteriror(Grid CompList), ele zera a página
NR

Qual o erro que aparece ao clicar no avançar?

Quanto ao botão List zerar a página, ao invés de chamar a onReload tente chamar a onEdit, passando o id em questão como parâmetro.
MO

Amigo, não estou conseguindo desenrolar, quando eu entro pela primeira vez no formulário, ele mostra todos os registros, mas qdo eu aperto o botão avançar
ele não filtra mais e nem reconhece a variável de sessão, tão pouco a variável do parâmetro, já tentei as duas formas


if (isset($param['key']))
{
$key = $param['key'];
//var_dump($key);
//exit;
}
else
{
//$key = TSession::getValue('key');
var_dump(isset($param['key']));
}

//-------------------------------------------------------------------
TTransaction::open('permission');
$repository = new TRepository('CompFam');
$criteria = new TCriteria;
$criteria->setProperties( $param );
//var_dump($param);
//exit;

$criteria->add(new TFilter('compf_titular_id','=',$key));
$criteria->setProperty('limit',10);

$objects = $repository->load( $criteria );
$this->datagrid->clear();

if($objects)
{
foreach($objects as $object)
{
$this->datagrid->addItem( $object );
}
}

$criteria->resetProperties();
//$count = $repository->count( $criteria );
//
//$this->pageNavigation->setCount( $count );
//$this->pageNavigation->setProperties( $param );
//$this->pageNavigation->setLimit( 10 );


TTransaction::close();
$this->loaded = TRUE; //Grid carregada
NR

Para usar a sessão e o método getValue, em algum momento você precisa definir o dado a ser gravado, usando a função setValue. Em que parte do código você está fazendo isso?
MO

public function onStep2()
{
$data = $this->form->getData();
$this->form->setData($data);
$this->notebook->setCurrentPage( 1 );
}

public function onStep3()
{
$data = $this->form->getData();
$this->form->setData($data);
$this->notebook->setCurrentPage( 2 );
}

public function onStep1()
{
$data = $this->form->getData();
$this->form->setData($data);
$this->notebook->setCurrentPage( 0 );

//$this->notebook->setCurrentPage( 0 );
//$this->form->setData($this->form->getData());

}
NR

Me refiro à função TSession::setValue. Parece que você está tentando pegar o valor da sessão pelo TSession::getValue sem ter definido esse valor.
MO

você teria um artigo, ou vídeo qualquer explicação sobre o TSession::getValue e TSession::setValue ?? pra eu entender melhor
NR

Marcos, a classe TSession é só um wrapper para a manipulação da variável superglobal $_SESSION.
Exemplo:
  1. <?php
  2. TSession::setValue('compf_titular_id','1'); // estou gravando o valor 1 na sessao, identificado pela chave compf_titular_id, que é equivalente à linha abaixo:
  3. $_SESSION['compf_titular_id'] = '1';
  4. ?>


Após gravarmos os valores na sessão aí sim podemos utilizar a getValue:
  1. <?php
  2. $valor TSession::getValue('compf_titular_id'); // equivalente a 
  3. $valor $_SESSION['compf_titular_id'];
  4. ?>


Ficou claro? Qualquer dúvida posta aí...