Erro conversão de datas Boa tarde, estou criando um formulário de contas a pagar, mas não estou conseguindo achar uma solução para a datagrid, fiz a data grid e os filtros, gostaria que o resultado da datagrid só mostraria o dados após clicar no botão de busca do filtro. Quando eu selecionar no menu a opção para ver o contar a pagar ele iria carregar so os campos de filtro e depois que eu clicar no botão busc...
MR
Erro conversão de datas  
Fechado
Boa tarde, estou criando um formulário de contas a pagar, mas não estou conseguindo achar uma solução para a datagrid, fiz a data grid e os filtros, gostaria que o resultado da datagrid só mostraria o dados após clicar no botão de busca do filtro.
Quando eu selecionar no menu a opção para ver o contar a pagar ele iria carregar so os campos de filtro e depois que eu clicar no botão buscar que mostraria o resultado na data grid.

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 (4)


FC

É só desabilitar oo onReload dentro do onShow do data grid.
MR

Obrigado, deu certo.
CS

E para carregar os dados com a data do dia? no __construct tenho:
 
  1. <?php
  2. // create the form fields
  3. $data_ag = new TEntry('data_ag');
  4. $data_ag->setValue(date('Y/m/d'));
  5. $dia->setEditable(FALSE);
  6. ?>


No onReload:
 
  1. <?php
  2. // open a transaction with database 'siga'
  3. TTransaction::open('siga');
  4. $data = $this->form->getData();
  5. $data_atual = $data->data_ag;
  6. $data_atual = (date('Y/m/d', $data_atual));
  7. // creates a repository for Agenda
  8. $repository = new TRepository('Agenda');
  9. $criteria = new TCriteria;
  10. $criteria->add(new TFilter('data_ag', '=', "{$data_atual}"));
  11. // load the objects according to criteria
  12. $objects = $repository->load($criteria);
  13. //carrego a grid....
  14. ?>


Mas retorna:
SQLSTATE[22007]: Invalid datetime format: 7 ERROR: invalid input syntax for type date: "" LINE 1: SELECT * FROM public.agenda WHERE (data_ag = '') ^

Ou seja, não consegue pegar o parâmetro. Como fazer neste caso?
PD

Você está usando a função date() da maneira errada.
Dê um var_dump() antes e depois de aplicar ela que verá...

O segundo parâmetro é um timestamp:
php.net/manual/en/function.date.php

O que você precisa é alterar o formato dela, use isso:
www.adianti.com.br/forum/pt/view_2287?conversao-de-datas-e-valores-m

 
  1. <?php
  2. DateTime::createFromFormat('d/m/Y', $object->dt_compra)->format( 'Y-m-d' );
  3. ?>


Att,