Lançado Adianti Framework 7.6!
Clique aqui para saber mais
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.         
  19.         $frame_calendar = new TFrame;
  20.         $frame_calendar->class 'tframe tframe-custom';
  21.         $frame_calendar->style 'background:whiteSmoke';
  22.         $tabela_calendar = new TTable;
  23.         $tabela_calendar->width '100%';
  24.         $frame_calendar->add($tabela_calendar);
  25.      
  26.         $hbox->add($frame_datagrid);
  27.         $hbox->add($frame_calendar);
  28.         
  29.         
  30.        
  31.         $critMed = new TCriteria();
  32.         $critMed->add(new TFilter('ativo','=','S'));
  33.         $medico_id = new TDBCombo('medico_id''SysClinicaWeb''MedicosModel''id''nome','nome' ,$critMed ); 
  34.         $medico_id->style  = ('text-align:center;color:#00688B;font-weight:bold;font-size:14px;');
  35.      
  36.         $data_consulta = new THidden('data_consulta');
  37.         $btn_filtrar = new TButton('filtrar');
  38.         $btn_filtrar->setAction(new TAction(array($this'onSearch')), ('<b>Filtrar<b>'));
  39.         $btn_filtrar->setImage('fa:search');
  40.         $btn_filtrar->class   'btn btn-info btn-md';
  41.         
  42.   
  43.         $medico_id->setSize('100%');
  44.         $data_consulta->setSize('80%');
  45.         
  46.         $this->form->setDataTSession::getValue('AgendaModel_filter_data') );
  47.         
  48.         
  49.         
  50.         // creates a Datagrid
  51.         $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
  52.         $this->datagrid->style 'width: 100%';
  53.         $this->datagrid->disableDefaultClick();
  54.         
  55.         
  56.         
  57.         // creates the datagrid columns
  58.         $column_data_consulta = new TDataGridColumn('data_consulta',        'Data',       'left');
  59.         $column_hora          = new TDataGridColumn('hora',                 'Hora',       'left');
  60.         $column_cliente_id    = new TDataGridColumn('cliente->nome',        'Cliente',    'left');
  61.         $column_medico_id     = new TDataGridColumn('medico->nome',         'Médico',     'left');
  62.         $column_convenio_id   = new TDataGridColumn('convenio->descricao',  'Convênio',   'left');
  63.         $column_tipoagenda_id = new TDataGridColumn('servico->descricao',   'Agenda',     'left');
  64.         $column_status        = new TDataGridColumn('status',               'Status',     'left');
  65.              
  66.         $column_data_consulta ->setTransformer(array($this'formatDate')); 
  67.         $column_hora          ->setTransformer(array($this'formatTime')); 
  68.         $column_status        ->setTransformer(array($this'formatCor'));  
  69.         
  70.         // add the columns to the DataGrid
  71.         $this->datagrid->addColumn($column_data_consulta);
  72.         $this->datagrid->addColumn($column_hora);
  73.         $this->datagrid->addColumn($column_cliente_id);
  74.         $this->datagrid->addColumn($column_medico_id);
  75.         $this->datagrid->addColumn($column_convenio_id);
  76.         $this->datagrid->addColumn($column_tipoagenda_id);
  77.         $this->datagrid->addColumn($column_status);
  78.         
  79.         
  80.      
  81.         
  82.         $action_atender = new TDataGridAction(array('ConveniosForm''onEdit'));
  83.         $action_atender->setLabel('Atendimento');
  84.         $action_atender->setImage('bs:hand-right green');
  85.         $action_atender->setField('id');
  86.         
  87.         
  88.         $action_cadCliente = new TDataGridAction(array('ClientesForm''onEdit'));
  89.         $action_cadCliente->setLabel('Cadastro do Cliente');
  90.         $action_cadCliente->setImage('bs:fas fa-undo green');
  91.         $action_cadCliente->setField('cliente_id');
  92.         
  93.         
  94.         $action_group = new TDataGridActionGroup('Ações''bs:th');
  95.         $action_group->addHeader('');
  96.         $action_group->addAction($action_atender);
  97.         $action_group->addAction($action_cadCliente);
  98.         $this->datagrid->addActionGroup($action_group);
  99.         
  100.         
  101.         
  102.         // create the datagrid model
  103.         $this->datagrid->createModel();
  104.         
  105.         // creates the page navigation
  106.         $this->pageNavigation = new TPageNavigation;
  107.         $this->pageNavigation->setAction(new TAction(array($this'onReload')));
  108.         $this->pageNavigation->setWidth($this->datagrid->getWidth());
  109.         
  110.         
  111.         
  112.         $this->calendar = new TCalendar;
  113.         $this->calendar->setMonth(date('n'));
  114.         $this->calendar->setYear(date('Y'));
  115.         
  116.         $this->calendar->selectDays(array( date('d') ));
  117.         $this->calendar->setSize(250,190);
  118.         $this->calendar->setAction( new TAction(array($this'onSearch')) );
  119.         $year  = new THidden('year');
  120.         $month = new THidden('month');
  121.         $day   = new THidden('day');
  122.         
  123.         
  124.         $year->setSize(20);
  125.         $month->setSize(20);
  126.         $day->setSize(20);
  127.         
  128.         
  129.         $year->setValue$this->calendar->getYear() );
  130.         $month->setValue$this->calendar->getMonth() );
  131.         $tabela->addRowSet('', array($day$month$year ));
  132.       
  133.   
  134.   
  135.         
  136.           
  137.         $btnVoltar = new TButton('btnVoltar');
  138.         $btnVoltar->setAction(new TAction(array($this'onBack',)), 'Anterior' );
  139.         $btnVoltar->setImage('fa:arrow-circle-o-left orange');
  140.        
  141.         
  142.         $btnProximo = new TButton('btnProximo');
  143.         $btnProximo->setAction(new TAction(array($this'onNext',)), 'Próximo' );
  144.         $btnProximo->setImage('fa:arrow-circle-o-right blue');
  145.         
  146.         
  147.         $btnHoje = new TButton('btnHoje');
  148.         $btnHoje->setAction(new TAction(array($this'onHoje',)), 'Hoje' );
  149.         $btnHoje->setImage('fa:arrow-circle-o-left orange');
  150.         
  151.          
  152.         
  153.        
  154.         
  155.         
  156.         $frame_datagrid->add($this->datagrid);
  157.         $frame_datagrid->add($this->pageNavigation);
  158.         
  159.         $frame_calendar->add($this->calendar);
  160.      
  161.         
  162.         $frame_calendar->add($btnVoltar);
  163.         $frame_calendar->add($btnHoje);
  164.         $frame_calendar->add($btnProximo);
  165.         
  166.         
  167.        
  168.         $tabela_calendar->addRowSet('Médico', array($medico_id ));
  169.         $this->formFields = array($data_consulta$medico_id);
  170.         
  171.         $this->form->setFields(array( $btnVoltar$btnProximo$medico_id$year$month$day$btnHoje$data_consulta ));
  172.         
  173.         
  174.         
  175.         
  176.       
  177.         
  178.       
  179.         parent::add($panel_geral);
  180.         
  181.         
  182.         
  183.     }
  184.     
  185.     
  186.     
  187.     
  188.     
  189.     
  190.     public function onSearch()
  191.     {
  192.       $data $this->form->getData();         
  193.       var_dump($data);
  194.      
  195.    AQUI RETORNA VAZIO...  preciso pegar o campo medico_ide a data clicado no calendar.
  196.    
  197. }
  198. ?>


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 (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.