Dúvida - Passagem de páginas 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" ...
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"



 
  1. <?php
  2. /**
  3. * TitularMestreDetalheForm Master/Detail
  4. * @author <your name here>
  5. */
  6. class TitularMestreDetalheForm extends TPage
  7. {
  8. /**
  9. * Class constructor
  10. * Creates the page
  11. */
  12. function __construct()
  13. {
  14. parent::__construct();
  15. $this->form = new TForm;
  16. // creates the notebook
  17. $notebook = new TNotebook(1100,500);
  18. // adds the notebook page
  19. // creates the containers for each notebook page
  20. $page1 = new TPanel(1000,450);
  21. $page2 = new TPanel(1000,480);
  22. $page3 = new TTable;
  23. // adds two pages in the notebook
  24. $notebook->appendPage('Dados Pessoais', $page1);
  25. $notebook->appendPage('Observação', $page2);
  26. //$notebook->appendPage('Other note', $page3);
  27. // create the form fields
  28. 2542 = new TEntry('id'); //40
  29. $nome = new TEntry('nome'); //225
  30. $apelido = new TEntry('apelido'); //86
  31. $cpf = new TEntry('cpf'); //111
  32. $nis = new TEntry('nis'); //119
  33. $celular1 = new TEntry('celular1'); //115
  34. $celular2 = new TEntry('celular2'); //115
  35. $telefone = new TEntry('telefone'); //105
  36. $contato = new TEntry('contato'); //123
  37. $sexo = new TCombo('sexo'); //44
  38. $pai = new TEntry('pai'); //225
  39. $mae = new TEntry('mae'); //225
  40. $rg = new TEntry('rg'); //110
  41. $viarg = new TEntry('viarg'); //55
  42. $datemisrg = new TDate('datemisrg'); //80
  43. $ufrg = new TCombo('ufrg'); //55
  44. $orgexprg = new TEntry('orgexprg'); //95
  45. $datnasc = new TDate('datnasc'); //80
  46. $naturalidade = new TEntry('naturalidade'); //230
  47. $endereco = new TEntry('endereco'); //213
  48. $numero = new TEntry('numero'); //80
  49. $complemento = new TEntry('complemento'); //100
  50. $pontoref = new TEntry('pontoref'); //195
  51. $cep = new TEntry('cep'); //80
  52. $localtrabalho = new TEntry('localtrabalho'); //303
  53. $portnecesp = new TDBCombo('comboportnecesp','permission','TipoNecEsp','id','necespecial'); //183
  54. $qualnecespecial = new TEntry('qualnecespecial'); //151
  55. $necadap = new TCombo('necadap'); //58
  56. $qtdpesres = new TSpinner('qtdpesres'); //62
  57. $valorbeneficio = new TEntry('valorbeneficio'); //73
  58. $desistente = new TCombo('desistente'); //67
  59. $declaracao = new TCombo('declaracao'); //67
  60. $situacaoderua = new TCombo('situacaoderua'); //67
  61. $assocmorador = new TEntry('assocmorador'); //382
  62. $participa = new TCombo('participa'); //67
  63. $situacao_trab_id = new TDBCombo('combosittrab','permission','SituacaoTrab','id','situacaotrab'); //260
  64. $escolaridade_id = new TDBCombo('comboescolaridade','permission','Escolaridade','id','escolaridade');//260
  65. $ocupacaoprof_id = new TDBCombo('comboocupprof','permission','Ocupacaoprof','id','descricao'); //260
  66. $tipo_nec_esp_id = new TDBCombo('combotpnecesp','permission','TipoNecEsp','id','necespecial'); //260
  67. $tempo_trabalho_id = new TDBCombo('combotrabalho','permission','TempoTrabalho','id','TempoTrab'); //200
  68. $renda_mensal_id = new TDBCombo('comborendamens','permission','RendaMensal','id','renda'); //180
  69. $estado_civil_id = new TDBCombo('comboestcivil','permission','EstadoCivil','id','estadocivil'); //180
  70. $beneficio_id = new TDBCombo('combobeneficio','permission','Beneficio','id','beneficio'); //180
  71. $sitconjugal_id = new TDBCombo('combositconjug','permission','Sitconjugal','id','sitconjugal'); //180
  72. $bairro_id = new TDBCombo('combobairro','permission','Bairro','id','bairro'); //200
  73. $logradouro_id = new TDBCombo('combologradouro','permission','Logradouro','id','descricao'); //180
  74. $rendatotal = new TEntry('rendatotal'); //185
  75. $renda_comp_id = new TDBCombo('comborendacomp','permission','RendaCompl','id','tipoderenda'); //180
  76. $observacao = new TEntry('observacao'); //500
  77. //adicionando itens ao combo sexo
  78. $combosexo_items = array(1=>"M",2=>"F");
  79. $sexo->addItems($combosexo_items);
  80. //adicionando itens ao combo UF
  81. $comboufrg_items = array(1=>"SP",2=>"RJ",3=>"AC",4=>"AL",5=>"AM",
  82. 6=>"AP",7=>"BA",8=>"CE",9=>"DF",10=>"ES",
  83. 11=>"GO",12=>"MA",13=>"MG",14=>"MS",15=>"MT",
  84. 16=>"PA",17=>"PB",18=>"PE",19=>"PI",20=>"PR",
  85. 21=>"RN",22=>"RO",23=>"RR",24=>"RS",25=>"SC",
  86. 26=>"SE");
  87. $ufrg->addItems($comboufrg_items);
  88. //adicionando opções de sim/nao ao combo
  89. $combo_items = array(1=>"Sim",2=>"Não");
  90. //adicionando itens ao combo nec.adap/declaração/desistente/situação de rua/participa
  91. $necadap->addItems($combo_items);
  92. $declaracao->addItems($combo_items);
  93. $desistente->addItems($combo_items);
  94. $situacaoderua->addItems($combo_items);
  95. $participa->addItems($combo_items);
  96. //valores para o spinner Qt. Pessoas Resid.
  97. $qtdpesres->setRange(0,20,1);
  98. // change the size for some fields
  99. 2542->setSize(70); //ok
  100. $nome->setSize(260); //ok
  101. $apelido->setSize(140); //ok
  102. $cpf->setSize(111); //ok
  103. $nis->setSize(119); //ok
  104. $celular1->setSize(115); //ok
  105. $celular2->setSize(115); //ok
  106. $telefone->setSize(105); //ok
  107. $contato->setSize(123); //ok
  108. $sexo->setSize(44); //ok
  109. $pai->setSize(260); //ok
  110. $mae->setSize(260); //ok
  111. $rg->setSize(140); //ok
  112. $viarg->setSize(55); //ok
  113. $datemisrg->setSize(80); //ok
  114. $ufrg->setSize(55); //ok
  115. $orgexprg->setSize(95); //ok
  116. $datnasc->setSize(80); //ok
  117. $naturalidade->setSize(260); //ok
  118. $endereco->setSize(205); //ok
  119. $numero->setSize(80); //ok
  120. $complemento->setSize(90); //ok
  121. $pontoref->setSize(205); //ok
  122. $cep->setSize(80); //ok
  123. $localtrabalho->setSize(250); //ok
  124. $portnecesp->setSize(183); //ok
  125. $qualnecespecial->setSize(180); //ok
  126. $necadap->setSize(58); //ok
  127. $qtdpesres->setSize(62); //ok
  128. $valorbeneficio->setSize(73); //ok
  129. $declaracao->setSize(67); //ok
  130. $situacaoderua->setSize(67); //ok
  131. $desistente->setSize(67); //ok
  132. $assocmorador->setSize(382);
  133. $participa->setSize(67);
  134. $situacao_trab_id->setSize(195); //ok
  135. $escolaridade_id->setSize(260); //ok
  136. $ocupacaoprof_id->setSize(340); //ok
  137. $tipo_nec_esp_id->setSize(260); //ok
  138. $tempo_trabalho_id->setSize(147); //ok
  139. $renda_mensal_id->setSize(180); //ok
  140. $estado_civil_id->setSize(100); //ok
  141. $sitconjugal_id->setSize(100); //ok
  142. $beneficio_id->setSize(185); //ok
  143. $bairro_id->setSize(150); //ok
  144. $logradouro_id->setSize(180); //ok
  145. $rendatotal->setSize(105); //ok
  146. $renda_comp_id->setSize(180); //ok
  147. $observacao->setSize(500);
  148. ## inserindo Labels na pagina 1 ##
  149. $page1->put(new TLabel('Codigo'), 20, 16);
  150. $page1->put(new TLabel('Nome do Titular'), 95, 16); // (col,lin)
  151. $page1->put(new TLabel('Apelido'), 360, 16); // (col,lin)
  152. $page1->put(new TLabel('Sexo'), 505, 16); // (col,lin)
  153. $page1->put(new TLabel('Escolaridade'), 555, 16); // (col,lin)
  154. $page1->put(new TLabel('C.P.F'), 820, 16); // (col,lin)
  155. $page1->put(new TLabel('Nis'), 937, 16); // (col,lin)
  156. $page1->put(new TLabel('Celular-1'), 20, 71); // (col,lin)
  157. $page1->put(new TLabel('Celular-2'), 140, 71); // (col,lin)
  158. $page1->put(new TLabel('Telefone'), 260, 71); // (col,lin)
  159. $page1->put(new TLabel('Contato'), 370, 71); // (col,lin)
  160. $page1->put(new TLabel('Pai'), 500, 71); // (col,lin)
  161. $page1->put(new TLabel('Mãe'), 765, 71); // (col,lin)
  162. $page1->put(new TLabel('Nº.Ident.'), 20, 126); // (col,lin)
  163. $page1->put(new TLabel('Via RG'), 165, 126); // (col,lin)
  164. $page1->put(new TLabel('Data Emis.'), 225, 126); // (col,lin)
  165. $page1->put(new TLabel('Órgão Exp.'), 335, 126); // (col,lin)
  166. $page1->put(new TLabel('UF.RG'), 435, 126); // (col,lin)
  167. $page1->put(new TLabel('Data Nasc.'), 495, 126); // (col,lin)
  168. $page1->put(new TLabel('Naturalidade'), 600, 126); // (col,lin)
  169. $page1->put(new TLabel('Logradouro'), 865, 126); // (col,lin)
  170. $page1->put(new TLabel('CEP'), 20, 181); // (col,lin)
  171. $page1->put(new TLabel('Endereco'), 105, 181); // (col,lin)
  172. $page1->put(new TLabel('Bairro'), 315, 181); // (col,lin)
  173. $page1->put(new TLabel('Número'), 470, 181); // (col,lin)
  174. $page1->put(new TLabel('Complemento'), 555, 181); // (col,lin)
  175. $page1->put(new TLabel('Ponto de Referencia'), 650, 181); // (col,lin)
  176. $page1->put(new TLabel('Portador de Nec.Esp'), 860, 181); // (col,lin)
  177. $page1->put(new TLabel('Qual Nec.Esp.'), 20, 236); // (col,lin)
  178. $page1->put(new TLabel('Nec.Adap'), 200, 236); // (col,lin)
  179. $page1->put(new TLabel('Estado Civil'), 268, 236); // (col,lin)
  180. $page1->put(new TLabel('Sit. Conjugal'), 372, 236); // (col,lin)
  181. $page1->put(new TLabel('Qt.P.Resid'), 477, 236); // (col,lin)
  182. $page1->put(new TLabel('Ocupação / Profissão'), 548, 236); // (col,lin)
  183. $page1->put(new TLabel('Tempo de Trab.'), 893, 236); // (col,lin)
  184. $page1->put(new TLabel('Situação Trabalhista'), 20, 291); // (col,lin)
  185. $page1->put(new TLabel('Local Trabalho'), 220, 291); // (col,lin)
  186. $page1->put(new TLabel('Renda Mensal'), 475, 291); // (col,lin)
  187. $page1->put(new TLabel('Renda Complem'), 660, 291); // (col,lin)
  188. $page1->put(new TLabel('Beneficio'), 845, 291); // (col,lin)
  189. $page1->put(new TLabel('Val.Benef'), 20, 346); // (col,lin)
  190. $page1->put(new TLabel('Renda.Tot'), 135, 346); // (col,lin)
  191. $page1->put(new TLabel('Declaração'), 210, 346); // (col,lin)
  192. $page1->put(new TLabel('Sit.Rua'), 285, 346); // (col,lin)
  193. $page1->put(new TLabel('Desist.'), 360, 346); // (col,lin)
  194. $page1->put(new TLabel('Associação de Moradores'), 432, 346); // (col,lin)
  195. $page1->put(new TLabel('Participa'), 820, 346); // (col,lin)
  196. ## inserindo campos na pagina 1
  197. $page1->put(2542, 20, 35);
  198. $page1->put($nome, 95, 35);
  199. $page1->put($apelido, 360, 35);
  200. $page1->put($sexo, 505, 35);
  201. $page1->put($escolaridade_id, 555, 35);
  202. $page1->put($cpf, 820, 35);
  203. $page1->put($nis, 937, 35);
  204. $page1->put($celular1, 20, 90);
  205. $page1->put($celular2, 140, 90);
  206. $page1->put($telefone, 260, 90);
  207. $page1->put($contato, 370, 90);
  208. $page1->put($pai, 500, 90);
  209. $page1->put($mae, 765, 90);
  210. $page1->put($rg, 20, 145);
  211. $page1->put($viarg, 165, 145);
  212. $page1->put($datemisrg, 225, 145);
  213. $page1->put($orgexprg, 335, 145);
  214. $page1->put($ufrg, 435, 145);
  215. $page1->put($datnasc, 495, 145);
  216. $page1->put($naturalidade, 600, 145);
  217. $page1->put($logradouro_id, 865, 145);
  218. $page1->put($cep, 20, 200);
  219. $page1->put($endereco, 105, 200);
  220. $page1->put($bairro_id, 315, 200);
  221. $page1->put($numero, 470, 200);
  222. $page1->put($complemento, 555, 200);
  223. $page1->put($pontoref, 650, 200);
  224. $page1->put($portnecesp, 860, 200);
  225. $page1->put($qualnecespecial, 20, 255);
  226. $page1->put($necadap, 205, 255);
  227. $page1->put($estado_civil_id, 268, 255);
  228. $page1->put($sitconjugal_id, 372, 255);
  229. $page1->put($qtdpesres, 477, 255);
  230. $page1->put($ocupacaoprof_id, 548, 255);
  231. $page1->put($tempo_trabalho_id,893, 255);
  232. $page1->put($situacao_trab_id, 20, 310);
  233. $page1->put($localtrabalho, 220, 310);
  234. $page1->put($renda_mensal_id, 475, 310);
  235. $page1->put($renda_comp_id, 660, 310);
  236. $page1->put($beneficio_id, 845, 310);
  237. $page1->put($valorbeneficio, 20, 365);
  238. $page1->put($rendatotal, 100, 365);
  239. $page1->put($declaracao, 210, 365);
  240. $page1->put($situacaoderua, 285, 365);
  241. $page1->put($desistente, 360, 365);
  242. $page1->put($assocmorador, 432, 365);
  243. $page1->put($participa, 820, 365);
  244. /*
  245. ## fields for the page 3 ##
  246. // creates the notebook
  247. $subnotebook = new TNotebook(250, 160);
  248. $subnotebook->appendPage('new page1', new TLabel('test1'));
  249. $subnotebook->appendPage('new page2', new TText('test2'));
  250. $row = $page3->addRow();
  251. $row->addCell($subnotebook);
  252. */
  253. $button1=new TButton('action1');
  254. $button1->setAction(new TAction(array($this, 'onStep2')), 'Próximo');
  255. $button1->setImage('menu-bar-right-arrow.png');
  256. $page1->put($button1, 200,450 );
  257. //capturando os campos do formulário
  258. $this->form->setFields(array(2542,$nome,$apelido,$sexo,$escolaridade_id,$cpf,$nis,$celular1,$celular2,$telefone,$contato,$pai,$mae,
  259. $rg,$viarg,$datemisrg,$orgexprg,$ufrg,$datnasc,$naturalidade,$logradouro_id,$cep,$endereco,$bairro_id,
  260. $numero,$complemento,$pontoref,$portnecesp,$qualnecespecial,$necadap,$estado_civil_id,$sitconjugal_id,
  261. $qtdpesres,$ocupacaoprof_id,$tempo_trabalho_id,$situacao_trab_id,$localtrabalho,$renda_mensal_id,
  262. $renda_comp_id,$beneficio_id,$valorbeneficio,$rendatotal,$declaracao,$situacaoderua,$desistente,
  263. $assocmorador,$participa,$button1));
  264. // wrap the page content using vertical box
  265. $vbox = new TVBox;
  266. //$vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  267. $vbox->add($notebook);
  268. parent::add($vbox);
  269. }
  270. function onStep1()
  271. {
  272. $this->notebook->setCurrentPage(0);
  273. $this->form->setData($this->form->getData());
  274. }
  275. function onStep2()
  276. {
  277. $data = $this->form->getData();
  278. $this->notebook->setCurrentPage(1);
  279. $this->form->setData($data);
  280. }
  281. function onStep3()
  282. {
  283. $data = $this->form->getData();
  284. $data->field5 = 'Hi '. $data->field4;
  285. $this->notebook->setCurrentPage(2);
  286. $this->form->setData($data);
  287. }
  288. function onSave()
  289. {
  290. //$this->notebook->setCurrentPage(2);
  291. //$this->form->setData($this->form->getData());
  292. //new TMessage('info', str_replace('"field', '<br>"field ', json_encode($this->form->getData())));
  293. }
  294. }
  295. ?>


Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (3)


MO

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());
}
NR

Dê uma olhada no link abaixo, parece ser alguma configuração do mysql:
stackoverflow.com/questions/15438840/mysql-error-1364-field-doesnt-h
MO

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!!