MO
Dúvida - Passagem de páginas
Fechado
Amigos montei um formulário Panel e Notebook e quero fazer botões passando para próximas páginas, porém apareceu um erro, conforme anexo, o código está da seguinte forma:
Erro: "Fatal error: Call to a member function setCurrentPage() on a non-object in D:VertrigoServwwwsisbsappcontrolapresentacaoTitularMestreDetalheForm.class.php on line 304"
Erro: "Fatal error: Call to a member function setCurrentPage() on a non-object in D:VertrigoServwwwsisbsappcontrolapresentacaoTitularMestreDetalheForm.class.php on line 304"
- <?php
- /**
- * TitularMestreDetalheForm Master/Detail
- * @author <your name here>
- */
- class TitularMestreDetalheForm extends TPage
- {
- /**
- * Class constructor
- * Creates the page
- */
- function __construct()
- {
- parent::__construct();
- $this->form = new TForm;
- // creates the notebook
- $notebook = new TNotebook(1100,500);
- // adds the notebook page
- // creates the containers for each notebook page
- $page1 = new TPanel(1000,450);
- $page2 = new TPanel(1000,480);
- $page3 = new TTable;
- // adds two pages in the notebook
- $notebook->appendPage('Dados Pessoais', $page1);
- $notebook->appendPage('Observação', $page2);
- //$notebook->appendPage('Other note', $page3);
- // create the form fields
- 2542 = new TEntry('id'); //40
- $nome = new TEntry('nome'); //225
- $apelido = new TEntry('apelido'); //86
- $cpf = new TEntry('cpf'); //111
- $nis = new TEntry('nis'); //119
- $celular1 = new TEntry('celular1'); //115
- $celular2 = new TEntry('celular2'); //115
- $telefone = new TEntry('telefone'); //105
- $contato = new TEntry('contato'); //123
- $sexo = new TCombo('sexo'); //44
- $pai = new TEntry('pai'); //225
- $mae = new TEntry('mae'); //225
- $rg = new TEntry('rg'); //110
- $viarg = new TEntry('viarg'); //55
- $datemisrg = new TDate('datemisrg'); //80
- $ufrg = new TCombo('ufrg'); //55
- $orgexprg = new TEntry('orgexprg'); //95
- $datnasc = new TDate('datnasc'); //80
- $naturalidade = new TEntry('naturalidade'); //230
- $endereco = new TEntry('endereco'); //213
- $numero = new TEntry('numero'); //80
- $complemento = new TEntry('complemento'); //100
- $pontoref = new TEntry('pontoref'); //195
- $cep = new TEntry('cep'); //80
- $localtrabalho = new TEntry('localtrabalho'); //303
- $portnecesp = new TDBCombo('comboportnecesp','permission','TipoNecEsp','id','necespecial'); //183
- $qualnecespecial = new TEntry('qualnecespecial'); //151
- $necadap = new TCombo('necadap'); //58
- $qtdpesres = new TSpinner('qtdpesres'); //62
- $valorbeneficio = new TEntry('valorbeneficio'); //73
- $desistente = new TCombo('desistente'); //67
- $declaracao = new TCombo('declaracao'); //67
- $situacaoderua = new TCombo('situacaoderua'); //67
- $assocmorador = new TEntry('assocmorador'); //382
- $participa = new TCombo('participa'); //67
- $situacao_trab_id = new TDBCombo('combosittrab','permission','SituacaoTrab','id','situacaotrab'); //260
- $escolaridade_id = new TDBCombo('comboescolaridade','permission','Escolaridade','id','escolaridade');//260
- $ocupacaoprof_id = new TDBCombo('comboocupprof','permission','Ocupacaoprof','id','descricao'); //260
- $tipo_nec_esp_id = new TDBCombo('combotpnecesp','permission','TipoNecEsp','id','necespecial'); //260
- $tempo_trabalho_id = new TDBCombo('combotrabalho','permission','TempoTrabalho','id','TempoTrab'); //200
- $renda_mensal_id = new TDBCombo('comborendamens','permission','RendaMensal','id','renda'); //180
- $estado_civil_id = new TDBCombo('comboestcivil','permission','EstadoCivil','id','estadocivil'); //180
- $beneficio_id = new TDBCombo('combobeneficio','permission','Beneficio','id','beneficio'); //180
- $sitconjugal_id = new TDBCombo('combositconjug','permission','Sitconjugal','id','sitconjugal'); //180
- $bairro_id = new TDBCombo('combobairro','permission','Bairro','id','bairro'); //200
- $logradouro_id = new TDBCombo('combologradouro','permission','Logradouro','id','descricao'); //180
- $rendatotal = new TEntry('rendatotal'); //185
- $renda_comp_id = new TDBCombo('comborendacomp','permission','RendaCompl','id','tipoderenda'); //180
- $observacao = new TEntry('observacao'); //500
- //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);
- // change the size for some fields
- 2542->setSize(70); //ok
- $nome->setSize(260); //ok
- $apelido->setSize(140); //ok
- $cpf->setSize(111); //ok
- $nis->setSize(119); //ok
- $celular1->setSize(115); //ok
- $celular2->setSize(115); //ok
- $telefone->setSize(105); //ok
- $contato->setSize(123); //ok
- $sexo->setSize(44); //ok
- $pai->setSize(260); //ok
- $mae->setSize(260); //ok
- $rg->setSize(140); //ok
- $viarg->setSize(55); //ok
- $datemisrg->setSize(80); //ok
- $ufrg->setSize(55); //ok
- $orgexprg->setSize(95); //ok
- $datnasc->setSize(80); //ok
- $naturalidade->setSize(260); //ok
- $endereco->setSize(205); //ok
- $numero->setSize(80); //ok
- $complemento->setSize(90); //ok
- $pontoref->setSize(205); //ok
- $cep->setSize(80); //ok
- $localtrabalho->setSize(250); //ok
- $portnecesp->setSize(183); //ok
- $qualnecespecial->setSize(180); //ok
- $necadap->setSize(58); //ok
- $qtdpesres->setSize(62); //ok
- $valorbeneficio->setSize(73); //ok
- $declaracao->setSize(67); //ok
- $situacaoderua->setSize(67); //ok
- $desistente->setSize(67); //ok
- $assocmorador->setSize(382);
- $participa->setSize(67);
- $situacao_trab_id->setSize(195); //ok
- $escolaridade_id->setSize(260); //ok
- $ocupacaoprof_id->setSize(340); //ok
- $tipo_nec_esp_id->setSize(260); //ok
- $tempo_trabalho_id->setSize(147); //ok
- $renda_mensal_id->setSize(180); //ok
- $estado_civil_id->setSize(100); //ok
- $sitconjugal_id->setSize(100); //ok
- $beneficio_id->setSize(185); //ok
- $bairro_id->setSize(150); //ok
- $logradouro_id->setSize(180); //ok
- $rendatotal->setSize(105); //ok
- $renda_comp_id->setSize(180); //ok
- $observacao->setSize(500);
- ## inserindo Labels na pagina 1 ##
- $page1->put(new TLabel('Codigo'), 20, 16);
- $page1->put(new TLabel('Nome do Titular'), 95, 16); // (col,lin)
- $page1->put(new TLabel('Apelido'), 360, 16); // (col,lin)
- $page1->put(new TLabel('Sexo'), 505, 16); // (col,lin)
- $page1->put(new TLabel('Escolaridade'), 555, 16); // (col,lin)
- $page1->put(new TLabel('C.P.F'), 820, 16); // (col,lin)
- $page1->put(new TLabel('Nis'), 937, 16); // (col,lin)
- $page1->put(new TLabel('Celular-1'), 20, 71); // (col,lin)
- $page1->put(new TLabel('Celular-2'), 140, 71); // (col,lin)
- $page1->put(new TLabel('Telefone'), 260, 71); // (col,lin)
- $page1->put(new TLabel('Contato'), 370, 71); // (col,lin)
- $page1->put(new TLabel('Pai'), 500, 71); // (col,lin)
- $page1->put(new TLabel('Mãe'), 765, 71); // (col,lin)
- $page1->put(new TLabel('Nº.Ident.'), 20, 126); // (col,lin)
- $page1->put(new TLabel('Via RG'), 165, 126); // (col,lin)
- $page1->put(new TLabel('Data Emis.'), 225, 126); // (col,lin)
- $page1->put(new TLabel('Órgão Exp.'), 335, 126); // (col,lin)
- $page1->put(new TLabel('UF.RG'), 435, 126); // (col,lin)
- $page1->put(new TLabel('Data Nasc.'), 495, 126); // (col,lin)
- $page1->put(new TLabel('Naturalidade'), 600, 126); // (col,lin)
- $page1->put(new TLabel('Logradouro'), 865, 126); // (col,lin)
- $page1->put(new TLabel('CEP'), 20, 181); // (col,lin)
- $page1->put(new TLabel('Endereco'), 105, 181); // (col,lin)
- $page1->put(new TLabel('Bairro'), 315, 181); // (col,lin)
- $page1->put(new TLabel('Número'), 470, 181); // (col,lin)
- $page1->put(new TLabel('Complemento'), 555, 181); // (col,lin)
- $page1->put(new TLabel('Ponto de Referencia'), 650, 181); // (col,lin)
- $page1->put(new TLabel('Portador de Nec.Esp'), 860, 181); // (col,lin)
- $page1->put(new TLabel('Qual Nec.Esp.'), 20, 236); // (col,lin)
- $page1->put(new TLabel('Nec.Adap'), 200, 236); // (col,lin)
- $page1->put(new TLabel('Estado Civil'), 268, 236); // (col,lin)
- $page1->put(new TLabel('Sit. Conjugal'), 372, 236); // (col,lin)
- $page1->put(new TLabel('Qt.P.Resid'), 477, 236); // (col,lin)
- $page1->put(new TLabel('Ocupação / Profissão'), 548, 236); // (col,lin)
- $page1->put(new TLabel('Tempo de Trab.'), 893, 236); // (col,lin)
- $page1->put(new TLabel('Situação Trabalhista'), 20, 291); // (col,lin)
- $page1->put(new TLabel('Local Trabalho'), 220, 291); // (col,lin)
- $page1->put(new TLabel('Renda Mensal'), 475, 291); // (col,lin)
- $page1->put(new TLabel('Renda Complem'), 660, 291); // (col,lin)
- $page1->put(new TLabel('Beneficio'), 845, 291); // (col,lin)
- $page1->put(new TLabel('Val.Benef'), 20, 346); // (col,lin)
- $page1->put(new TLabel('Renda.Tot'), 135, 346); // (col,lin)
- $page1->put(new TLabel('Declaração'), 210, 346); // (col,lin)
- $page1->put(new TLabel('Sit.Rua'), 285, 346); // (col,lin)
- $page1->put(new TLabel('Desist.'), 360, 346); // (col,lin)
- $page1->put(new TLabel('Associação de Moradores'), 432, 346); // (col,lin)
- $page1->put(new TLabel('Participa'), 820, 346); // (col,lin)
- ## inserindo campos na pagina 1
- $page1->put(2542, 20, 35);
- $page1->put($nome, 95, 35);
- $page1->put($apelido, 360, 35);
- $page1->put($sexo, 505, 35);
- $page1->put($escolaridade_id, 555, 35);
- $page1->put($cpf, 820, 35);
- $page1->put($nis, 937, 35);
- $page1->put($celular1, 20, 90);
- $page1->put($celular2, 140, 90);
- $page1->put($telefone, 260, 90);
- $page1->put($contato, 370, 90);
- $page1->put($pai, 500, 90);
- $page1->put($mae, 765, 90);
- $page1->put($rg, 20, 145);
- $page1->put($viarg, 165, 145);
- $page1->put($datemisrg, 225, 145);
- $page1->put($orgexprg, 335, 145);
- $page1->put($ufrg, 435, 145);
- $page1->put($datnasc, 495, 145);
- $page1->put($naturalidade, 600, 145);
- $page1->put($logradouro_id, 865, 145);
- $page1->put($cep, 20, 200);
- $page1->put($endereco, 105, 200);
- $page1->put($bairro_id, 315, 200);
- $page1->put($numero, 470, 200);
- $page1->put($complemento, 555, 200);
- $page1->put($pontoref, 650, 200);
- $page1->put($portnecesp, 860, 200);
- $page1->put($qualnecespecial, 20, 255);
- $page1->put($necadap, 205, 255);
- $page1->put($estado_civil_id, 268, 255);
- $page1->put($sitconjugal_id, 372, 255);
- $page1->put($qtdpesres, 477, 255);
- $page1->put($ocupacaoprof_id, 548, 255);
- $page1->put($tempo_trabalho_id,893, 255);
- $page1->put($situacao_trab_id, 20, 310);
- $page1->put($localtrabalho, 220, 310);
- $page1->put($renda_mensal_id, 475, 310);
- $page1->put($renda_comp_id, 660, 310);
- $page1->put($beneficio_id, 845, 310);
- $page1->put($valorbeneficio, 20, 365);
- $page1->put($rendatotal, 100, 365);
- $page1->put($declaracao, 210, 365);
- $page1->put($situacaoderua, 285, 365);
- $page1->put($desistente, 360, 365);
- $page1->put($assocmorador, 432, 365);
- $page1->put($participa, 820, 365);
- /*
- ## fields for the page 3 ##
- // creates the notebook
- $subnotebook = new TNotebook(250, 160);
- $subnotebook->appendPage('new page1', new TLabel('test1'));
- $subnotebook->appendPage('new page2', new TText('test2'));
- $row = $page3->addRow();
- $row->addCell($subnotebook);
- */
- $button1=new TButton('action1');
- $button1->setAction(new TAction(array($this, 'onStep2')), 'Próximo');
- $button1->setImage('menu-bar-right-arrow.png');
- $page1->put($button1, 200,450 );
- //capturando os campos do formulário
- $this->form->setFields(array(2542,$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,$portnecesp,$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,$button1));
- // wrap the page content using vertical box
- $vbox = new TVBox;
- //$vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $vbox->add($notebook);
- parent::add($vbox);
- }
- function onStep1()
- {
- $this->notebook->setCurrentPage(0);
- $this->form->setData($this->form->getData());
- }
- function onStep2()
- {
- $data = $this->form->getData();
- $this->notebook->setCurrentPage(1);
- $this->form->setData($data);
- }
- function onStep3()
- {
- $data = $this->form->getData();
- $data->field5 = 'Hi '. $data->field4;
- $this->notebook->setCurrentPage(2);
- $this->form->setData($data);
- }
- function onSave()
- {
- //$this->notebook->setCurrentPage(2);
- //$this->form->setData($this->form->getData());
- //new TMessage('info', str_replace('"field', '<br>"field ', json_encode($this->form->getData())));
- }
- }
- ?>
galera problema resolvido, porém surgiu outro problema, na hora da gravação no banco, quando tento salvar, aparece o seguinte erro: situacao_trab_id' doesn't have a default value, depois eu uso o json_encode, e todos os valores, são mostrados corretamente, alguém para me dar uma luz, o código onSave, abaixo:
try
{
TTransaction::open('permission');
$titular = $this->form->getData('Titular');
$titular->store();
$this->form->setData($titular);
TTransaction::close();
}
catch (Exception $e)
{
new TMessage('error',$e->getMessage());
}
Dê uma olhada no link abaixo, parece ser alguma configuração do mysql:
stackoverflow.com/questions/15438840/mysql-error-1364-field-doesnt-h
Nataniel Rabaioli, obrigado pela atenção, consegui resolver, o problema estava na criação dos TDBCombos, onde o primeiro parâmetro não tinha colocado o nome do campo e sim um outro nome qualquer, dai qdo ia gravar não passava o valor para o campo e como o campo era not null, dava o erro que indiquei.
Muito bom acontecer os erros, pra não cairmos mais neles...
muitíssimo obrigado!!