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:
// 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:
- <?php
- /**
- * TitularMestreDetalheForm Master/Detail
- * @author <your name here>
- */
- class TitularMestreDetalheForm extends TPage
- {
- private $notebook;
- private $form;
- private $form_item;
- //private $cartgrid;
- private $loaded;
- /**
- * Class constructor
- * Creates the page
- */
- function __construct( $param )
- {
- parent::__construct();
- //criando notebook
- //$this->notebook = new BootstrapNotebookWrapper( new TNotebook(1100,500) );
- $this->notebook = new TNotebook(1100,500);
- //criando formulario
- $this->form = new TForm;
- //adicionando o notebook dentro do form
- $this->form->add($this->notebook);
- //Criando o componente HTML
- $html = new THtmlEditor('observacao');
- $html->setSize(900, 400);
- //criando tabela para adicionar ao notebook
- $page1 = new TTable;
- $page2 = new TTable;
- $page3 = new TTable;
- $page1-> width = '99%';
- //criando um Panel
- $panel1 = new TPanel(1000,450);
- $page1->addRowSet($panel1);
- //criando Panel e add na page3
- //$panel2 = new TPanel(1000,200);
- //$page3->addRowSet($panel2);
- //adicionando duas páginas ao notebook
- $this->notebook->appendPage('Dados Pessoais', $page1);
- $this->notebook->appendPage('Observação', $page2);
- $this->notebook->appendPage('Composição Familiar', $page3);
- //-----------------------------------------------------------> view do Titular
- // criando os tipos de entrada do formulário
- 2612 = new TEntry('id');
- $nome = new TEntry('nome');
- $apelido = new TEntry('apelido');
- $cpf = new TEntry('cpf');
- $nis = new TEntry('nis');
- $celular1 = new TEntry('celular1');
- $celular2 = new TEntry('celular2');
- $telefone = new TEntry('telefone');
- $contato = new TEntry('contato');
- $sexo = new TCombo('sexo');
- $pai = new TEntry('pai');
- $mae = new TEntry('mae');
- $rg = new TEntry('rg');
- $viarg = new TEntry('viarg');
- $datemisrg = new TDate('datemisrg');
- $ufrg = new TCombo('ufrg');
- $orgexprg = new TEntry('orgexprg');
- $datnasc = new TDate('datnasc');
- $naturalidade = new TEntry('naturalidade');
- $endereco = new TEntry('endereco');
- $numero = new TEntry('numero');
- $complemento = new TEntry('complemento');
- $pontoref = new TEntry('pontoref');
- $cep = new TEntry('cep');
- $localtrabalho = new TEntry('localtrabalho');
- $qualnecespecial = new TEntry('qualnecespecial');
- $necadap = new TCombo('necadap');
- $qtdpesres = new TSpinner('qtdpesres');
- $valorbeneficio = new TEntry('valorbeneficio');
- $desistente = new TCombo('desistente');
- $declaracao = new TCombo('declaracao');
- $situacaoderua = new TCombo('situacaoderua');
- $assocmorador = new TEntry('assocmorador');
- $participa = new TCombo('participa');
- $situacao_trab_id = new TDBCombo('situacao_trab_id','permission','SituacaoTrab','id','situacaotrab');
- $escolaridade_id = new TDBCombo('escolaridade_id','permission','Escolaridade','id','escolaridade');
- $ocupacaoprof_id = new TDBCombo('ocupacaoprof_id','permission','Ocupacaoprof','id','descricao');
- $tipo_nec_esp_id = new TDBCombo('tipo_nec_esp_id','permission','TipoNecEsp','id','necespecial');
- $tempo_trabalho_id = new TDBCombo('tempo_trabalho_id','permission','TempoTrabalho','id','TempoTrab');
- $renda_mensal_id = new TDBCombo('renda_mensal_id','permission','RendaMensal','id','renda');
- $estado_civil_id = new TDBCombo('estado_civil_id','permission','EstadoCivil','id','estadocivil');
- $beneficio_id = new TDBCombo('beneficio_id','permission','Beneficio','id','beneficio');
- $sitconjugal_id = new TDBCombo('sitconjugal_id','permission','Sitconjugal','id','sitconjugal');
- $bairro_id = new TDBCombo('bairro_id','permission','Bairro','id','bairro');
- $logradouro_id = new TDBCombo('logradouro_id','permission','Logradouro','id','descricao');
- $rendatotal = new TEntry('rendatotal');
- $renda_comp_id = new TDBCombo('renda_comp_id','permission','RendaCompl','id','tipoderenda');
- $observacao = $html;
- //desabilitando o campo código
- 2612->setEditable(False);
- //adicionando itens ao combo sexo
- $combosexo_items = array(1=>"M",2=>"F");
- $sexo->addItems($combosexo_items);
- //adicionando itens ao combo UF
- $comboufrg_items = array(1=>"SP",2=>"RJ",3=>"AC",4=>"AL",5=>"AM",
- 6=>"AP",7=>"BA",8=>"CE",9=>"DF",10=>"ES",
- 11=>"GO",12=>"MA",13=>"MG",14=>"MS",15=>"MT",
- 16=>"PA",17=>"PB",18=>"PE",19=>"PI",20=>"PR",
- 21=>"RN",22=>"RO",23=>"RR",24=>"RS",25=>"SC",
- 26=>"SE");
- $ufrg->addItems($comboufrg_items);
- //adicionando opções de sim/nao ao combo
- $combo_items = array(1=>"Sim",2=>"Não");
- //adicionando itens ao combo nec.adap/declaração/desistente/situação de rua/participa
- $necadap->addItems($combo_items);
- $declaracao->addItems($combo_items);
- $desistente->addItems($combo_items);
- $situacaoderua->addItems($combo_items);
- $participa->addItems($combo_items);
- //valores para o spinner Qt. Pessoas Resid.
- $qtdpesres->setRange(0,20,1);
- // definindo o tamanho dos campos
- 2612->setSize(70);
- $nome->setSize(260);
- $apelido->setSize(140);
- $cpf->setSize(111);
- $nis->setSize(111);
- $celular1->setSize(115);
- $celular2->setSize(115);
- $telefone->setSize(105);
- $contato->setSize(145);
- $sexo->setSize(44);
- $pai->setSize(260);
- $mae->setSize(260);
- $rg->setSize(140);
- $viarg->setSize(55);
- $datemisrg->setSize(80);
- $ufrg->setSize(55);
- $orgexprg->setSize(95);
- $datnasc->setSize(80);
- $naturalidade->setSize(175);
- $endereco->setSize(205);
- $numero->setSize(80);
- $complemento->setSize(90);
- $pontoref->setSize(290);
- $cep->setSize(80);
- $localtrabalho->setSize(250);
- $tipo_nec_esp_id->setSize(180);
- $qualnecespecial->setSize(180);
- $necadap->setSize(58);
- $qtdpesres->setSize(62);
- $valorbeneficio->setSize(73);
- $declaracao->setSize(67);
- $situacaoderua->setSize(67);
- $desistente->setSize(67);
- $assocmorador->setSize(382);
- $participa->setSize(67);
- $situacao_trab_id->setSize(195);
- $escolaridade_id->setSize(260);
- $ocupacaoprof_id->setSize(340);
- $tempo_trabalho_id->setSize(147);
- $renda_mensal_id->setSize(180);
- $estado_civil_id->setSize(100);
- $sitconjugal_id->setSize(100);
- $beneficio_id->setSize(185);
- $bairro_id->setSize(150);
- $logradouro_id->setSize(180);
- $rendatotal->setSize(105);
- $renda_comp_id->setSize(180);
- //adicionando os campos no Panel da tabela1
- $panel1->put(new TLabel('Codigo'), 20, 16);
- $panel1->put(new TLabel('Nome do Titular'), 95, 16);
- $panel1->put(new TLabel('Apelido'), 360, 16);
- $panel1->put(new TLabel('Sexo'), 505, 16);
- $panel1->put(new TLabel('Escolaridade'), 555, 16);
- $panel1->put(new TLabel('C.P.F'), 820, 16);
- $panel1->put(new TLabel('Nis'), 937, 16);
- $panel1->put(new TLabel('Celular-1'), 20, 71);
- $panel1->put(new TLabel('Celular-2'), 140, 71);
- $panel1->put(new TLabel('Telefone'), 260, 71);
- $panel1->put(new TLabel('Contato'), 370, 71);
- $panel1->put(new TLabel('Pai'), 520, 71);
- $panel1->put(new TLabel('Mãe'), 785, 71);
- $panel1->put(new TLabel('Nº.Ident.'), 20, 126);
- $panel1->put(new TLabel('Via RG'), 165, 126);
- $panel1->put(new TLabel('Data Emis.'), 225, 126);
- $panel1->put(new TLabel('Órgão Exp.'), 335, 126);
- $panel1->put(new TLabel('UF.RG'), 435, 126);
- $panel1->put(new TLabel('Data Nasc.'), 495, 126);
- $panel1->put(new TLabel('Naturalidade'), 600, 126);
- $panel1->put(new TLabel('CEP'), 780, 126);
- $panel1->put(new TLabel('Logradouro'), 865, 126);
- $panel1->put(new TLabel('Endereco'), 20, 181);
- $panel1->put(new TLabel('Bairro'), 230, 181);
- $panel1->put(new TLabel('Número'), 385, 181);
- $panel1->put(new TLabel('Complemento'), 470, 181);
- $panel1->put(new TLabel('Ponto de Referencia'), 565, 181);
- $panel1->put(new TLabel('Portador de Nec.Esp'), 860, 181);
- $panel1->put(new TLabel('Qual Nec.Esp.'), 20, 236);
- $panel1->put(new TLabel('Nec.Adap'), 200, 236);
- $panel1->put(new TLabel('Estado Civil'), 268, 236);
- $panel1->put(new TLabel('Sit. Conjugal'), 372, 236);
- $panel1->put(new TLabel('Qt.P.Resid'), 477, 236);
- $panel1->put(new TLabel('Ocupação / Profissão'), 548, 236);
- $panel1->put(new TLabel('Tempo de Trab.'), 893, 236);
- $panel1->put(new TLabel('Situação Trabalhista'), 20, 291);
- $panel1->put(new TLabel('Local Trabalho'), 220, 291);
- $panel1->put(new TLabel('Renda Mensal'), 475, 291);
- $panel1->put(new TLabel('Renda Complem'), 660, 291);
- $panel1->put(new TLabel('Beneficio'), 845, 291);
- $panel1->put(new TLabel('Val.Benef'), 20, 346);
- $panel1->put(new TLabel('Renda.Tot'), 135, 346);
- $panel1->put(new TLabel('Declaração'), 210, 346);
- $panel1->put(new TLabel('Sit.Rua'), 285, 346);
- $panel1->put(new TLabel('Desist.'), 360, 346);
- $panel1->put(new TLabel('Associação de Moradores'), 432, 346);
- $panel1->put(new TLabel('Participa'), 820, 346);
- ## inserindo campos na pagina 1
- $panel1->put(2612, 20, 35);
- $panel1->put($nome, 95, 35);
- $panel1->put($apelido, 360, 35);
- $panel1->put($sexo, 505, 35);
- $panel1->put($escolaridade_id, 555, 35);
- $panel1->put($cpf, 820, 35);
- $panel1->put($nis, 937, 35);
- $panel1->put($celular1, 20, 90);
- $panel1->put($celular2, 140, 90);
- $panel1->put($telefone, 260, 90);
- $panel1->put($contato, 370, 90);
- $panel1->put($pai, 520, 90);
- $panel1->put($mae, 785, 90);
- $panel1->put($rg, 20, 145);
- $panel1->put($viarg, 165, 145);
- $panel1->put($datemisrg, 225, 145);
- $panel1->put($orgexprg, 335, 145);
- $panel1->put($ufrg, 435, 145);
- $panel1->put($datnasc, 495, 145);
- $panel1->put($naturalidade, 600, 145);
- $panel1->put($cep, 780, 145);
- $panel1->put($logradouro_id, 865, 145);
- $panel1->put($endereco, 20, 200);
- $panel1->put($bairro_id, 230, 200);
- $panel1->put($numero, 385, 200);
- $panel1->put($complemento, 470, 200);
- $panel1->put($pontoref, 565, 200);
- $panel1->put($tipo_nec_esp_id, 860, 200);
- $panel1->put($qualnecespecial, 20, 255);
- $panel1->put($necadap, 205, 255);
- $panel1->put($estado_civil_id, 268, 255);
- $panel1->put($sitconjugal_id, 372, 255);
- $panel1->put($qtdpesres, 477, 255);
- $panel1->put($ocupacaoprof_id, 548, 255);
- $panel1->put($tempo_trabalho_id,893, 255);
- $panel1->put($situacao_trab_id, 20, 310);
- $panel1->put($localtrabalho, 220, 310);
- $panel1->put($renda_mensal_id, 475, 310);
- $panel1->put($renda_comp_id, 660, 310);
- $panel1->put($beneficio_id, 845, 310);
- $panel1->put($valorbeneficio, 20, 365);
- $panel1->put($rendatotal, 100, 365);
- $panel1->put($declaracao, 210, 365);
- $panel1->put($situacaoderua, 285, 365);
- $panel1->put($desistente, 360, 365);
- $panel1->put($assocmorador, 432, 365);
- $panel1->put($participa, 820, 365);
- //-----------------------------------------------------------> fim da view do Titular
- //-----------------------------------------------------------> View da Composicao Familiar
- // criando os tipos de entrada do formulário
- //$compf_nome = new TEntry('compf_nome');
- //$compf_Idade = new TSpinner('compf_Idade');
- //$compf_renda = new TEntry('compf_renda');
- //$compf_rendacomp_id = new TDBCombo('renda_comp_id','permission','RendaCompl','id','tipoderenda');
- //$compf_valbenef = new TEntry('compf_valbenef');
- //$compf_localtrabalho = new TEntry('compf_localtrabalho');
- //$compf_titular_id = new TEntry('compf_titular_id');
- //$compf_situacao_trab_id = new TDBCombo('compf_situacaotrab_id','permission','SituacaoTrab','id','situacaotrab');
- //$compf_escolaridade_id = new TDBCombo('compf_escolaridade_id','permission','Escolaridade','id','escolaridade');//260
- //$compf_ocupacaoprof_id = new TDBCombo('compf_ocupacaoprof_id','permission','Ocupacaoprof','id','descricao'); //260
- //$compf_tipo_nec_esp_id = new TDBCombo('tipo_nec_esp_id','permission','TipoNecEsp','id','necespecial');
- //$compf_tempo_trabalho_id = new TDBCombo('compf_tempo_trabalho_id','permission','TempoTrabalho','id','TempoTrab');
- //$compf_renda_mensal_id = new TDBCombo('compf_renda_mensal_id','permission','RendaMensal','id','renda');
- //$compf_renda_compl_id = new TDBCombo('compf_renda_comp_id','permission','RendaCompl','id','tipoderenda');
- //$compf_grauparent_id = new TDBCombo('compf_grauparent_id','permission','Grauparent','id','grauparentesco');
- //$compf_estado_civil_id = new TDBCombo('compf_estado_civil_id','permission','EstadoCivil','id','estadocivil');
- //$compf_sitconjugal_id = new TDBCombo('compf_sitconjugal_id','permission','Sitconjugal','id','sitconjugal');
- //$compf_beneficio_id = new TDBCombo('compf_beneficio_id','permission','Beneficio','id','beneficio');
- //$compf_qualnecespecial = new TEntry('compf_qualnecespecial');
- //validando campo
- //$compf_titular_id->addValidation('compf_titular_id', new TRequiredValidator);
- //valores para o spinner Qt. Pessoas Resid.
- //$compf_Idade->setRange(0,120,1);
- // definindo o tamanho dos campos
- //2612->setSize(80); //ok
- //$compf_nome -> setSize(240);
- //$compf_Idade -> setSize(55);
- //$compf_renda -> setSize(100);
- //$compf_rendacomp_id -> setSize(195);
- //$compf_valbenef -> setSize(100);
- //$compf_localtrabalho -> setSize(310);
- //$compf_titular_id -> setSize(65);
- //$compf_situacao_trab_id -> setSize(210);
- //$compf_escolaridade_id -> setSize(300);
- //$compf_ocupacaoprof_id -> setSize(340);
- //$compf_tipo_nec_esp_id -> setSize(180);
- //$compf_tempo_trabalho_id -> setSize(151);
- //$compf_renda_mensal_id -> setSize(180);
- //$compf_renda_compl_id -> setSize(180);
- //$compf_grauparent_id -> setSize(150);
- //$compf_estado_civil_id -> setSize(100);
- //$compf_sitconjugal_id -> setSize(100);
- //$compf_beneficio_id -> setSize(120);
- //$compf_qualnecespecial -> setSize(200);
- //formatação de dinheiro
- //$compf_renda->setNumericMask(2, '.', ',');
- // add uma linha para o título
- //$row = $table_item->addRow();
- //$row->class = 'tformtitle'; // CSS class
- //$cell = $row->addCell( new TLabel('Tabela de Familiáres'));
- //$cell->colspan = 4;
- //adicionando os campos no Panel da tabela1
- //$panel2->put(new TLabel('Cód.Titular'), 20, 16);
- //$panel2->put(new TLabel('Nome'), 92, 16);
- //$panel2->put(new TLabel('Idade'), 340, 16);
- //$panel2->put(new TLabel('Parentesco'), 403, 16);
- //$panel2->put(new TLabel('Estado Civil'), 560, 16);
- //$panel2->put(new TLabel('Sit.Conjugal'), 665, 16);
- //$panel2->put(new TLabel('Escolaridade'), 770, 16);
- //$panel2->put(new TLabel('Tp.Deficiencia'), 20, 71); //305
- //$panel2->put(new TLabel('Qual Necessidade'), 205, 71);
- //$panel2->put(new TLabel('Ocupação / Profissão'),410, 71);
- //$panel2->put(new TLabel('Local do Trabalho'), 755, 71);
- //$panel2->put(new TLabel('Situação Trabalhista'), 20,126); //191
- //$panel2->put(new TLabel('Tempo de Trabalho'), 239,126);
- //$panel2->put(new TLabel('Renda Mensal'), 396,126);
- //$panel2->put(new TLabel('Renda Complementar'), 579,126);
- //$panel2->put(new TLabel('Renda'), 764,126);
- //$panel2->put(new TLabel('Val.Benef'), 870,126);
- // criando ação para o botão de adição dos itens
- //$buttonAddCompf = new TButton('add');
- //$buttonAddCompf->setAction(new TAction(array($this, 'onAddItem')), 'Adicionar');
- //$buttonAddCompf->setImage('ico_add.png');
- ## inserindo campos na pagina 2
- //$panel2->put($compf_titular_id, 20, 35);
- //$panel2->put($compf_nome, 92, 35);
- //$panel2->put($compf_Idade, 340, 35);
- //$panel2->put($compf_grauparent_id, 403, 35); //130
- //$panel2->put($compf_estado_civil_id, 560, 35);
- //$panel2->put($compf_sitconjugal_id, 665, 35);
- //$panel2->put($compf_escolaridade_id, 770, 35);
- //$panel2->put($compf_tipo_nec_esp_id, 20, 90);
- //$panel2->put($compf_qualnecespecial, 205, 90);
- //$panel2->put($compf_ocupacaoprof_id, 410, 90);
- //$panel2->put($compf_localtrabalho, 755, 90);
- //$panel2->put($compf_situacao_trab_id, 20,145);
- //$panel2->put($compf_tempo_trabalho_id, 239,145);
- //$panel2->put($compf_renda_mensal_id, 396,145);
- //$panel2->put($compf_renda_compl_id, 579,145);
- //$panel2->put($compf_renda, 764,145);
- //$panel2->put($compf_valbenef, 870,145);
- //$panel2->put($buttonAddCompf, 975,145);
- // criando os itens do Grid
- //$this->cartgrid = new TQuickGrid;
- //$this->cartgrid->class = 'tdatagrid_table customized-table';
- //$this->cartgrid->makeScrollable();
- //$this->cartgrid->setHeight( 120 );
- //parent::include_css('app/resources/custom-table.css');
- //$this->cartgrid->addQuickColumn('ID', 'compf_titular_id', 'left', 25);
- //$this->cartgrid->addQuickColumn('Nome', 'compf_nome', 'left', 100);
- //$this->cartgrid->addQuickColumn('Idade', 'compf_Idade', 'left', 50);
- //$this->cartgrid->addQuickColumn('Grau Parent.', 'compf_grauparent_id', 'left', 100);
- //$this->cartgrid->addQuickColumn('Est.Civil', 'compf_estado_civil_id', 'left', 100);
- //$this->cartgrid->addQuickColumn('Sit.Conj', 'compf_sitconjugal_id', 'left', 100);
- //$this->cartgrid->addQuickColumn('Escolaridade', 'compf_escolaridade_id', 'left', 100);
- //$this->cartgrid->addQuickColumn('Tp.Nec.Esp', 'compf_tipo_nec_esp_id', 'left', 25);
- //$this->cartgrid->addQuickColumn('Qual Nec.Esp', 'compf_qualnecespecial', 'left', 25);
- //$this->cartgrid->addQuickColumn('Ocup/Prof', 'compf_ocupacaoprof_id', 'left', 25);
- //$this->cartgrid->addQuickColumn('Loc.Trabalho', 'compf_localtrabalho', 'left', 25);
- //$this->cartgrid->addQuickColumn('Sit.Trab.', 'compf_situacao_trab_id', 'left', 25);
- //$this->cartgrid->addQuickColumn('Tempo Trab.', 'compf_tempo_trabalho_id', 'left', 25);
- //$this->cartgrid->addQuickColumn('Renda mensal', 'compf_renda_mensal_id', 'left', 25);
- //$this->cartgrid->addQuickColumn('Renda Compl.', 'compf_renda_compl_id', 'left', 25);
- //$this->cartgrid->addQuickColumn('Renda', 'compf_renda', 'right', 25);
- //$this->cartgrid->addQuickColumn('Val.Benef.', 'compf_valbenef', 'right', 25);
- //$this->cartgrid->addQuickAction('Delete', new TDataGridAction(array($this, 'onDelete')), 'product_id', 'ico_delete.png');
- //$this->cartgrid->createModel();
- $this->datagrid = new TDataGrid;
- $compf_id = new TDataGridColumn('id','ID','left',80);
- $compf_nome = new TDataGridColumn('compf_nome','Nome dos Dependentes','left',300);
- $parentesco = new TDataGridColumn('grauparent->grauparentesco','Parentesco','left',100);
- $this->datagrid->addColumn( $compf_id );
- $this->datagrid->addColumn( $compf_nome );
- $this->datagrid->addColumn( $parentesco );
- $action1 = new TDataGridAction( array('CompFamForm','onEdit' ) );
- $action1->setLabel('Editar');
- $action1->setImage('ico_edit.png');
- $action1->setField('id');
- $this->datagrid->addAction( $action1 );
- $this->datagrid->createModel();
- $this->pageNavigation = new TPageNavigation;
- $this->pageNavigation->setAction(new TAction(array($this, 'onReload')));
- $this->pageNavigation->setWidth( $this->datagrid->getWidth() );
- $page3->addRowSet($this->datagrid);
- $page3->addRowSet($this->pageNavigation);
- //-----------------------------------------------------------> Fim da View Composicao Familiar
- //adicionando Editor HTML na aba2
- $page2->addRowSet($html);
- //adicionando butões na página 0
- $butpage0_avc = new TButton('action0');
- $butpage0_avc->setAction( new TAction( array($this,'onStep2')),'Avançar');
- $butpage0_avc->setImage('fa:save.png');
- $butpage0_list = new TButton('list');
- $butpage0_list->setAction(new TAction(array('TitularList', 'onReload')), 'Consultar');
- //adicionando butões na página 1
- $butpage1_avc = new TButton('action1');
- $butpage1_avc->setAction( new TAction( array($this,'onStep3')),'Avançar');
- $butpage1_vlt = new TButton('action2');
- $butpage1_vlt->setAction( new TAction( array($this,'onStep1')),'Voltar');
- $butpage1_slv = new TButton('action3');
- $butpage1_slv->setAction( new TAction( array($this,'onSave')),'Salvar');
- $page1->addRowSet( array($butpage0_avc, $butpage0_list));
- $page2->addRowSet( array($butpage1_avc, $butpage1_vlt, $butpage1_slv) );
- //capturando os campos do formulário
- $this->form->setFields(array(2612,$nome,$apelido,$sexo,$escolaridade_id,$cpf,$nis,$celular1,$celular2,$telefone,$contato,$pai,$mae,
- $rg,$viarg,$datemisrg,$orgexprg,$ufrg,$datnasc,$naturalidade,$logradouro_id,$cep,$endereco,$bairro_id,
- $numero,$complemento,$pontoref,$tipo_nec_esp_id,$qualnecespecial,$necadap,$estado_civil_id,$sitconjugal_id,
- $qtdpesres,$ocupacaoprof_id,$tempo_trabalho_id,$situacao_trab_id,$localtrabalho,$renda_mensal_id,
- $renda_comp_id,$beneficio_id,$valorbeneficio,$rendatotal,$declaracao,$situacaoderua,$desistente,
- $assocmorador,$participa,$butpage0_avc, $butpage0_list,$butpage1_avc,$butpage1_vlt,$butpage1_slv,
- $html));
- parent::add($this->form);
- }
- 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()
- {
- $this->notebook->setCurrentPage( 0 );
- $this->form->setData($this->form->getData());
- }
- public function onSave($param)
- {
- $this->notebook->setCurrentPage( 1 ); //página atual de salvamento
- try
- {
- TTransaction::open('permission'); // open a transaction
- /**
- // Enable Debug logger for SQL operations inside the transaction
- TTransaction::setLogger(new TLoggerSTD); // standard output
- TTransaction::setLogger(new TLoggerTXT('log.txt')); // file
- **/
- $this->form->validate(); // valida dados do form
- $object = new Titular; // cria os objetos em branco
- $data = $this->form->getData(); // pega dados do form como array
- $object->fromArray( (array) $data); // lê os objetos do array
- $object->store(); // salva os objetos
- // get the generated id
- $data->id = $object->id;
- $this->form->setData($data); // preenche o formulário
- TTransaction::close(); // fecha a transação
- new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage()); // mostra os erros de exceção
- $this->form->setData( $this->form->getData() ); // continua com os dados
- TTransaction::rollback(); // undo all pending operations
- }
- }
- /**
- * Load object to form data
- * @param $param Request
- */
- public function onEdit( $param )
- {
- try
- {
- if (isset($param['key']))
- {
- $key = $param['key']; // pega a chave do parametro
- TTransaction::open('permission'); // abre a transação
- $object = new Titular($key); // instancia o registro
- $this->form->setData($object); // preenche o formulário
- TTransaction::close(); // fecha a transação
- }
- else
- {
- $this->form->clear();
- }
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage()); // shows the exception error message
- TTransaction::rollback(); // undo all pending operations
- }
- }
- /**
- * Add a ComposicaoFamiliar into the cart
- */
- public function onAddItem()
- {
- try
- {
- //$this->form_item->validate(); // validate form data
- //
- //$items = TSession::getValue('items'); // get items from session
- //$item = $this->form_item->getData('CompfItem');
- //$items[ $item->product_id ] = $item; // add the item
- //TSession::setValue('items', $items); // store back tthe session
- //$this->form_item->clear(); // clear form
- //$this->onReload(); // reload data
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', '<b>Error</b> ' . $e->getMessage());
- }
- }
- /**
- * Remove a product from the cart
- */
- public function onDelete($param)
- {
- // get the cart objects from session
- //$items = TSession::getValue('items');
- //unset($items[ $param['key'] ]); // remove the product from the array
- //TSession::setValue('items', $items); // put the array back to the session
- // reload datagrid
- $this->onReload( func_get_arg(0) );
- }
- // 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();
- }
- }
- public function show()
- {
- if ( !$this->loaded ) //se o Grid não foi carregado
- {
- $this->onReload( func_get_arg(0) ); //primeiro parâmetro vai para o onReload
- }
- parent::show();
- }
- }
- e nesse trecho, quando eu vou pra outra página que volto com o botão listar, da classe CompFamForm, ele limpa completamente o formulário TitularMestreDetalheForm
- $this->form->addQuickAction('Retornar', new TAction(array('TitularMestreDetalheForm', 'onReload')), 'ico_datagrid.png');
- código completo:
- <?php
- /**
- * CompFamForm Form
- * @author <your name here>
- */
- class CompFamForm extends TPage
- {
- protected $form; // form
- /**
- * Form constructor
- * @param $param Request
- */
- public function __construct( $param )
- {
- parent::__construct();
- // creates the form
- $this->form = new TQuickForm('form_CompFam');
- $this->form->class = 'tform'; // change CSS class
- $this->form->style = 'display: table;width:100%'; // change style
- // define the form title
- $this->form->setFormTitle('Cadastro dos componentes da família');
- // create the form fields
- 2612 = new TEntry('id');
- $compf_nome = new TEntry('compf_nome');
- $compf_Idade = new TSpinner('compf_Idade');
- $compf_renda = new TEntry('compf_renda');
- $compf_valbenef = new TEntry('compf_valbenef');
- $compf_localtrabalho = new TEntry('compf_localtrabalho');
- $compf_titular_id = new TDBCombo('compf_titular_id','permission','Titular','id','nome');
- $compf_renda_comp_id = new TDBCombo('compf_renda_comp_id','permission','RendaCompl','id','tipoderenda');
- $compf_situacaotrab_id = new TDBCombo('compf_situacaotrab_id','permission','SituacaoTrab','id','situacaotrab');
- $compf_escolaridade_id = new TDBCombo('compf_escolaridade_id','permission','Escolaridade','id','escolaridade');
- $compf_ocupacaoprof_id = new TDBCombo('compf_ocupacaoprof_id','permission','Ocupacaoprof','id','descricao');
- $compf_tipo_nec_esp_id = new TDBCombo('compf_tipo_nec_esp_id','permission','TipoNecEsp','id','necespecial');
- $compf_tempo_trabalho_id = new TDBCombo('compf_tempo_trabalho_id','permission','TempoTrabalho','id','TempoTrab');
- $compf_renda_mensal_id = new TDBCombo('compf_renda_mensal_id','permission','RendaMensal','id','renda');
- $compf_grauparent_id = new TDBCombo('compf_grauparent_id','permission','Grauparent','id','grauparentesco');
- $compf_estado_civil_id = new TDBCombo('compf_estado_civil_id','permission','EstadoCivil','id','estadocivil');
- $compf_sitconjugal_id = new TDBCombo('compf_sitconjugal_id','permission','Sitconjugal','id','sitconjugal');
- $compf_qualnecespecial = new TEntry('compf_qualnecespecial');
- // add the fields
- $this->form->addQuickField('Id', 2612, 100 );
- $this->form->addQuickField('Cód.Titular', $compf_titular_id, 400 );
- $this->form->addQuickField('Nome', $compf_nome, 400 );
- $this->form->addQuickField('Idade', $compf_Idade, 100 );
- $this->form->addQuickField('Renda', $compf_renda, 100 );
- $this->form->addQuickField('Valbenef', $compf_valbenef, 100 );
- $this->form->addQuickField('Localtrabalho', $compf_localtrabalho, 300 );
- $this->form->addQuickField('Renda Compl.', $compf_renda_comp_id, 300 );
- $this->form->addQuickField('Situacao trabalho', $compf_situacaotrab_id, 300 );
- $this->form->addQuickField('Escolaridade', $compf_escolaridade_id, 500 );
- $this->form->addQuickField('Ocupacao/Prof', $compf_ocupacaoprof_id, 500 );
- $this->form->addQuickField('Tp.Nec.Esp', $compf_tipo_nec_esp_id, 300 );
- $this->form->addQuickField('Tempo de Trabalho', $compf_tempo_trabalho_id, 300 );
- $this->form->addQuickField('Renda Mensal', $compf_renda_mensal_id, 300 );
- $this->form->addQuickField('Grau Parentesco', $compf_grauparent_id, 300 );
- $this->form->addQuickField('Estado Civil', $compf_estado_civil_id, 300 );
- $this->form->addQuickField('Situacao Conjugal', $compf_sitconjugal_id, 300 );
- $this->form->addQuickField('Qual nec.especial', $compf_qualnecespecial, 400 );
- if (!empty(2612))
- {
- 2612->setEditable(FALSE);
- $compf_titular_id->setEditable(FALSE);
- }
- //valores para o spinner Qt. Pessoas Resid.
- $compf_Idade->setRange(0,120,1);
- $compf_titular_id->addValidation('compf_titular_id', new TRequiredValidator);
- $compf_renda_comp_id->addValidation('compf_renda_comp_id', new TRequiredValidator);
- /** samples
- $this->form->addQuickFields('Date', array($date1, new TLabel('to'), $date2)); // side by side fields
- $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
- $fieldX->setSize( 100, 40 ); // set size
- **/
- // create the form actions
- $this->form->addQuickAction('Salvar', new TAction(array($this, 'onSave')), 'fa:floppy-o');
- $this->form->addQuickAction('Novo', new TAction(array($this, 'onClear')), 'bs:plus-sign green');
- $this->form->addQuickAction('Retornar', new TAction(array('TitularMestreDetalheForm', 'onReload')), 'ico_datagrid.png');
- // vertical box container
- $container = new TVBox;
- $container->style = 'width: 90%';
- $container->add($this->form);
- parent::add($container);
- }
- /**
- * Save form data
- * @param $param Request
- */
- public function onSave( $param )
- {
- try
- {
- TTransaction::open('permission'); // open a transaction
- /**
- // Enable Debug logger for SQL operations inside the transaction
- TTransaction::setLogger(new TLoggerSTD); // standard output
- TTransaction::setLogger(new TLoggerTXT('log.txt')); // file
- **/
- $this->form->validate(); // validate form data
- $object = new CompFam; // create an empty object
- $data = $this->form->getData(); // get form data as array
- $object->fromArray( (array) $data); // load the object with data
- //var_dump($object);
- //exit;
- $object->store(); // save the object
- // get the generated id
- $data->id = $object->id;
- $this->form->setData($data); // fill form data
- TTransaction::close(); // close the transaction
- new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage()); // shows the exception error message
- $this->form->setData( $this->form->getData() ); // keep form data
- TTransaction::rollback(); // undo all pending operations
- }
- }
- /**
- * Clear form data
- * @param $param Request
- */
- public function onClear( $param )
- {
- $this->form->clear();
- }
- /**
- * Load object to form data
- * @param $param Request
- */
- public function onEdit( $param )
- {
- try
- {
- if (isset($param['key']))
- {
- $key = $param['key']; // get the parameter $key
- TTransaction::open('permission'); // open a transaction
- $object = new CompFam($key); // instantiates the Active Record
- $this->form->setData($object); // fill the form
- TTransaction::close(); // close the transaction
- }
- else
- {
- $this->form->clear();
- }
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage()); // shows the exception error message
- TTransaction::rollback(); // undo all pending operations
- }
- }
- }
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:
Por parâmetro:
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
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.
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
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?
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());
}
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.
você teria um artigo, ou vídeo qualquer explicação sobre o TSession::getValue e TSession::setValue ?? pra eu entender melhor
Marcos, a classe TSession é só um wrapper para a manipulação da variável superglobal $_SESSION.
Exemplo:
Após gravarmos os valores na sessão aí sim podemos utilizar a getValue:
Ficou claro? Qualquer dúvida posta aí...