getData nao retorna valores Boa noite, Depois de muitas tentativas e erros, consegui colocar um calendar ao lado de uma grid. Mas estou fazendo alguma coisa errada com o form que nao consigo pegar dados no getData. (var_dump retorna vazio) Segue codigo: ...
ML
getData nao retorna valores  
Boa noite,

Depois de muitas tentativas e erros, consegui colocar um calendar ao lado de uma grid.
Mas estou fazendo alguma coisa errada com o form que nao consigo pegar dados no getData. (var_dump retorna vazio)

Segue codigo:

 
  1. <?php
  2. public function __construct()
  3. {
  4. parent::__construct();
  5. $this->form = new BootstrapFormBuilder('form_Agendamento');
  6. $panel_geral = new TPanelGroup( 'Agenda' );
  7. $hbox = new THBox;
  8. $hbox->style = 'width: 100%';
  9. $hbox->pack(1);
  10. $this->form->add($panel_geral);
  11. $panel_geral->add($hbox);
  12. $frame_datagrid = new TFrame;
  13. $frame_datagrid->class = 'tframe tframe-custom';
  14. $frame_datagrid->style = 'background:whiteSmoke';
  15. $tabela_datagrid = new TTable;
  16. $tabela_datagrid->width = '100%';
  17. $frame_datagrid->add($tabela_datagrid);
  18. $frame_calendar = new TFrame;
  19. $frame_calendar->class = 'tframe tframe-custom';
  20. $frame_calendar->style = 'background:whiteSmoke';
  21. $tabela_calendar = new TTable;
  22. $tabela_calendar->width = '100%';
  23. $frame_calendar->add($tabela_calendar);
  24. $hbox->add($frame_datagrid);
  25. $hbox->add($frame_calendar);
  26. $critMed = new TCriteria();
  27. $critMed->add(new TFilter('ativo','=','S'));
  28. $medico_id = new TDBCombo('medico_id', 'SysClinicaWeb', 'MedicosModel', 'id', 'nome','nome' ,$critMed );
  29. $medico_id->style = ('text-align:center;color:#00688B;font-weight:bold;font-size:14px;');
  30. $data_consulta = new THidden('data_consulta');
  31. $btn_filtrar = new TButton('filtrar');
  32. $btn_filtrar->setAction(new TAction(array($this, 'onSearch')), ('<b>Filtrar<b>'));
  33. $btn_filtrar->setImage('fa:search');
  34. $btn_filtrar->class = 'btn btn-info btn-md';
  35. $medico_id->setSize('100%');
  36. $data_consulta->setSize('80%');
  37. $this->form->setData( TSession::getValue('AgendaModel_filter_data') );
  38. // creates a Datagrid
  39. $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
  40. $this->datagrid->style = 'width: 100%';
  41. $this->datagrid->disableDefaultClick();
  42. // creates the datagrid columns
  43. $column_data_consulta = new TDataGridColumn('data_consulta', 'Data', 'left');
  44. $column_hora = new TDataGridColumn('hora', 'Hora', 'left');
  45. $column_cliente_id = new TDataGridColumn('cliente->nome', 'Cliente', 'left');
  46. $column_medico_id = new TDataGridColumn('medico->nome', 'Médico', 'left');
  47. $column_convenio_id = new TDataGridColumn('convenio->descricao', 'Convênio', 'left');
  48. $column_tipoagenda_id = new TDataGridColumn('servico->descricao', 'Agenda', 'left');
  49. $column_status = new TDataGridColumn('status', 'Status', 'left');
  50. $column_data_consulta ->setTransformer(array($this, 'formatDate'));
  51. $column_hora ->setTransformer(array($this, 'formatTime'));
  52. $column_status ->setTransformer(array($this, 'formatCor'));
  53. // add the columns to the DataGrid
  54. $this->datagrid->addColumn($column_data_consulta);
  55. $this->datagrid->addColumn($column_hora);
  56. $this->datagrid->addColumn($column_cliente_id);
  57. $this->datagrid->addColumn($column_medico_id);
  58. $this->datagrid->addColumn($column_convenio_id);
  59. $this->datagrid->addColumn($column_tipoagenda_id);
  60. $this->datagrid->addColumn($column_status);
  61. $action_atender = new TDataGridAction(array('ConveniosForm', 'onEdit'));
  62. $action_atender->setLabel('Atendimento');
  63. $action_atender->setImage('bs:hand-right green');
  64. $action_atender->setField('id');
  65. $action_cadCliente = new TDataGridAction(array('ClientesForm', 'onEdit'));
  66. $action_cadCliente->setLabel('Cadastro do Cliente');
  67. $action_cadCliente->setImage('bs:fas fa-undo green');
  68. $action_cadCliente->setField('cliente_id');
  69. $action_group = new TDataGridActionGroup('Ações', 'bs:th');
  70. $action_group->addHeader('');
  71. $action_group->addAction($action_atender);
  72. $action_group->addAction($action_cadCliente);
  73. $this->datagrid->addActionGroup($action_group);
  74. // create the datagrid model
  75. $this->datagrid->createModel();
  76. // creates the page navigation
  77. $this->pageNavigation = new TPageNavigation;
  78. $this->pageNavigation->setAction(new TAction(array($this, 'onReload')));
  79. $this->pageNavigation->setWidth($this->datagrid->getWidth());
  80. $this->calendar = new TCalendar;
  81. $this->calendar->setMonth(date('n'));
  82. $this->calendar->setYear(date('Y'));
  83. $this->calendar->selectDays(array( date('d') ));
  84. $this->calendar->setSize(250,190);
  85. $this->calendar->setAction( new TAction(array($this, 'onSearch')) );
  86. $year = new THidden('year');
  87. $month = new THidden('month');
  88. $day = new THidden('day');
  89. $year->setSize(20);
  90. $month->setSize(20);
  91. $day->setSize(20);
  92. $year->setValue( $this->calendar->getYear() );
  93. $month->setValue( $this->calendar->getMonth() );
  94. $tabela->addRowSet('', array($day, $month, $year ));
  95. $btnVoltar = new TButton('btnVoltar');
  96. $btnVoltar->setAction(new TAction(array($this, 'onBack',)), 'Anterior' );
  97. $btnVoltar->setImage('fa:arrow-circle-o-left orange');
  98. $btnProximo = new TButton('btnProximo');
  99. $btnProximo->setAction(new TAction(array($this, 'onNext',)), 'Próximo' );
  100. $btnProximo->setImage('fa:arrow-circle-o-right blue');
  101. $btnHoje = new TButton('btnHoje');
  102. $btnHoje->setAction(new TAction(array($this, 'onHoje',)), 'Hoje' );
  103. $btnHoje->setImage('fa:arrow-circle-o-left orange');
  104. $frame_datagrid->add($this->datagrid);
  105. $frame_datagrid->add($this->pageNavigation);
  106. $frame_calendar->add($this->calendar);
  107. $frame_calendar->add($btnVoltar);
  108. $frame_calendar->add($btnHoje);
  109. $frame_calendar->add($btnProximo);
  110. $tabela_calendar->addRowSet('Médico', array($medico_id ));
  111. $this->formFields = array($data_consulta, $medico_id);
  112. $this->form->setFields(array( $btnVoltar, $btnProximo, $medico_id, $year, $month, $day, $btnHoje, $data_consulta ));
  113. parent::add($panel_geral);
  114. }
  115. public function onSearch()
  116. {
  117. $data = $this->form->getData();
  118. var_dump($data);
  119. AQUI RETORNA VAZIO... preciso pegar o campo medico_id, e a data clicado no calendar.
  120. }
  121. ?>


Curso Dominando o Adianti Framework

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


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


NR

Você não adicionou o form à página, por isso o post não retorna nada.
 
  1. <?php
  2. $this->form = new BootstrapFormBuilder('form_Agendamento'); //cria form
  3. $panel_geral = new TPanelGroup( 'Agenda' ); //cria panel
  4. ...
  5. $this->form->add($panel_geral); // adiciona o panel ao form
  6. ...
  7. // parent::add($panel_geral);adiciona o panel à página, mas e o form?
  8. parent::add($this->form);// troque a linha acima por essa
  9. ?>


ML

Obrigado Nataniel. Abraço.