Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Os registros não aparecem no TDatagrid Bom dia, fiz o fonte abaixo, porém quando executo carrega o print conforme o print, observo que varrega os registros no Record, mas não aparece no Grid, com certeza esqueci de algum detalhe, mas não tô achando qual é o detalhe. Se puderem me ajudar, agradeço. fonte php ...
GS
Os registros não aparecem no TDatagrid  
Bom dia,

fiz o fonte abaixo, porém quando executo carrega o print conforme o print, observo que varrega os registros no Record, mas não aparece no Grid, com certeza esqueci de algum detalhe, mas não tô achando qual é o detalhe. Se puderem me ajudar, agradeço.

fonte php

  1. <?php
  2. class ClienteLista extends TPage
  3. {
  4.     private $datagrid;
  5.     private $pageNavigation;
  6.     
  7.     use Adianti\Base\AdiantiStandardListTrait;    
  8.     
  9.     public function __construct()
  10.     {
  11.         parent::__construct();
  12.         
  13.         $this->setDatabase('kolossul');
  14.         $this->setActiveRecord('Pessoa');
  15.         $this->setDefaultOrder('razao_social''asc');
  16.         $this->addFilterField('id''=''id');
  17.         $this->addFilterField('razao_social''like''nome');
  18.         $this->addFilterField('fantasia''like''fantasia');
  19.         $this->addFilterField('cidade_descricao''like''cidade');
  20.         $this->addFilterField('endereco''like''endereco');
  21.         
  22.         $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
  23.         $this->datagrid->style 'width:100%';
  24.         
  25.         $col_id       = new TDataGridColumn('id''ID''center''6%');
  26.         $col_nome     = new TDataGridColumn('nome''Nome''left''30%');
  27.         $col_fantasia = new TDataGridColumn('fantasia''Fantasia''left''20%');
  28.         $col_cidade   = new TDataGridColumn('{cidade_descricao}''Cidade''left''20%');
  29.         $col_endereco = new TDataGridColumn('endereco''Endereço''left''24%');
  30.         
  31.         $col_id->setAction( new TAction([$this'onReload']), ['order' => 'id'] );
  32.         $col_nome->setAction( new TAction([$this'onReload']), ['order' => 'razao_social'] );
  33.         $col_fantasia->setAction( new TAction([$this'onReload']), ['order' => 'fantasia'] );
  34.         $col_cidade->setAction( new TAction([$this'onReload']), ['order' => 'cidade_descricao'] );
  35.         
  36.         $this->datagrid->addColumn($col_id);
  37.         $this->datagrid->addColumn($col_nome);
  38.         $this->datagrid->addColumn($col_fantasia);
  39.         $this->datagrid->addColumn($col_cidade);
  40.         $this->datagrid->addColumn($col_endereco);
  41.         
  42.         $this->datagrid->createModel();
  43.         
  44.         
  45.         $this->form = new TForm;
  46.         $this->form->add($this->datagrid);
  47.         
  48.         
  49.         $id       =  new TEntry('id');
  50.         $nome     =  new TEntry('nome');
  51.         $fantasia =  new TEntry('fantasia');
  52.         $cidade   =  new TEntry('cidade');
  53.         $endereco =  new TEntry('endereco');
  54.         
  55.         $id->exitOnEnter();
  56.         $nome->exitOnEnter();
  57.         $fantasia->exitOnEnter();
  58.         $cidade->exitOnEnter();
  59.         $endereco->exitOnEnter();
  60.         
  61.         $id->setSize('100%');
  62.         $nome->setSize('100%');
  63.         $fantasia->setSize('100%');
  64.         $cidade->setSize('100%');
  65.         $endereco->setSize('100%');
  66.         
  67.         $id->tabindex = -1;
  68.         $nome->tabindex = -1;
  69.         $fantasia->tabindex = -1;
  70.         $cidade->tabindex = -1;
  71.         $endereco->tabindex = -1;
  72.         
  73.         $id->setExitAction( new TAction( [ $this'onSearch' ], ['static' => '1']) );
  74.         $nome->setExitAction( new TAction( [ $this'onSearch' ], ['static' => '1']) );
  75.         $fantasia->setExitAction( new TAction( [ $this'onSearch' ], ['static' => '1']) );
  76.         $endereco->setExitAction( new TAction( [ $this'onSearch' ], ['static' => '1']) );
  77.         $cidade->setExitAction( new TAction( [ $this'onSearch' ], ['static' => '1']) );
  78.         
  79.         $tr = new TElement('tr');
  80.         $this->datagrid->prependRow($tr);
  81.         
  82.         $tr->addTElement::tag('td'$id) );
  83.         $tr->addTElement::tag('td'$nome) );
  84.         $tr->addTElement::tag('td'$fantasia) );
  85.         $tr->addTElement::tag('td'$endereco) );
  86.         $tr->addTElement::tag('td'$cidade) );
  87.         
  88.         $this->form->addField($id);
  89.         $this->form->addField($nome);
  90.         $this->form->addField($fantasia);
  91.         $this->form->addField($endereco);
  92.         $this->form->addField($cidade);
  93.         
  94.         $this->form->setDataTSession::getValue(__CLASS__.'_filter_data') );
  95.         
  96.         $this->pageNavigation = new TPageNavigation;
  97.         $this->pageNavigation->setAction( new TAction( [$this'onReload'] ));
  98.         $this->pageNavigation->enableCounters();
  99.         
  100.         
  101.         $panel = new TPanelGroup('Clientes');
  102.         $panel->add($this->form);
  103.         $panel->addFooter($this->pageNavigation);
  104.         
  105.         parent::add$panel );
  106.     }
  107. }
  108. Grato desde já,
  109. Geison CShida

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (8)


MG

envie o "onReload"
GS

Mas esse onReload tenho na linha 97, ele já não faz o carregamento ?

se tenho que colocar mais um onReload, onde eu deveria colocar ele ? até achei que como estou usando o use AdiantiBaseAdiantiStandardListTrait;
não precisaria criar um evento de onReload.


Se puder me passar um breve codigo do que tenho que colocar e em que ponto do fonte, te agradeço.


Geison
MG

Geison
O carregamento normalmente é feito no onReload.
Se há um problema em não apresentar os dados, é nele que está o problema.
Deve haver em algum lugar nele algo como:
$this->datagrid->addItem($obj)
;
Se pegar qualquer exemplo no tutor com grid, poderá ver algo semelhando no "onReload".
JR

Talvez teria que ver como esta a classe Pessoa.
GS

Pelo que entendo, como estou usando trait, esse tipo de comando $this->datagrid->addItem($obj); acho que fica dentro do trait, nem especifico nada do genero no meu fonte.

Pior que os dados carregam, embora não apareçam, até se vou nos campos para filtro, os mesmos estão funcionando para filtrar os registros, só os registros visualmente não aparecem, mesmo quando clico no paginador que faz um reload continua não aparecendo.

Tô revendo todo o fonte, comparando de onde fiz a cópia e adaptei... copiei esse fonte do curso adianti 7 que comprei, só troquei basicamente o nome do banco, do activerecord e os nomes das colunas, no mais os dois fontes (o original e o que eu fiz no meu projeto) estão idênticos, mas infelizmente não está aparecendo os dados... mas com certeza devo estar "rateando" em algum detalhe que não estou entendendo...


Se tiver mais algum dica do que eu possa revisar, fico no aguardo.


Grato,

Geison
MG

Siga a dica do *João Vitor*, reveja a classe Pessoa.
Na teria usando trait deveria funcionar.
O uso do trait economiza código, mas prefiro não usar para ter total controle.
GS

Achei minha "Reteada"... na verdade como estou usando o Banco Firebird, o nome dos atributos da classe no firebird vem com os nome em "caixa alta" RAZAO_SOCIAL, ENDERECO, etc, só troquei no meu fonte para que os campos ficassem em caixa alta e boa noite, bombou !!!


Valeu Marcelo e João pela ajuda... fica a dica para que estiver com a mesma dificuldade quando for trabalhar com Firebird
MG

Geison
Excelente. Quem bom!
Obrigado por compartilhar o resultado.
É muito importante para quem usa firebird saber destes detalhes....
Acho que a grande maioria usar mysql ou postgres.
Valeu