Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Apresentar o texto ao invés do id em uma grid Boa noite... Estou com uma tela de consulta que preciso que a grid apresente a informação de texto. Hoje na grid aparece a id da tabela, segue tela para melhor entendimento e código do formulário. Obrigado. ...
WF
Apresentar o texto ao invés do id em uma grid  
Boa noite...

Estou com uma tela de consulta que preciso que a grid apresente a informação de texto.
Hoje na grid aparece a id da tabela, segue tela para melhor entendimento e código do formulário.
Obrigado.

  1. <?php
  2. /**
  3.  * consultadeclientes Listing
  4.  * @author  <your name here>
  5.  */
  6. class consultadeclientes extends TStandardList
  7. {
  8.     protected $form;     // registration form
  9.     protected $datagrid// listing
  10.     protected $pageNavigation;
  11.     protected $formgrid;
  12.     protected $deleteButton;
  13.     protected $transformCallback;
  14.     
  15.     /**
  16.      * Page constructor
  17.      */
  18.     public function __construct()
  19.     {
  20.         parent::__construct();
  21.         
  22.         parent::setDatabase('bancohip');            // defines the database
  23.         parent::setActiveRecord('pessoa');   // defines the active record
  24.         parent::setDefaultOrder('id''asc');         // defines the default order
  25.         // parent::setCriteria($criteria) // define a standard filter
  26.         parent::addFilterField('id''like''id'); // filterField, operator, formField
  27.         parent::addFilterField('status_id''like''status_id'); // filterField, operator, formField
  28.         parent::addFilterField('tipodecadastro_id''=''tipodecadastro_id'); // filterField, operator, formField
  29.         parent::addFilterField('nome''like''nome'); // filterField, operator, formField
  30.         parent::addFilterField('telefone''like''telefone'); // filterField, operator, formField
  31.         parent::addFilterField('celular''like''celular'); // filterField, operator, formField
  32.         parent::addFilterField('corretor_id''like''corretor_id'); // filterField, operator, formField
  33.         
  34.         // creates the form
  35.         $this->form = new TQuickForm('form_search_pessoa');
  36.         $this->form->class 'tform'// change CSS class
  37.         
  38.         $this->form->style 'display: table;width:100%'// change style
  39.         $this->form->setFormTitle('Consulta de clientes');
  40.         
  41.         // create the form fields
  42.         $id = new TEntry('id');
  43.         $status_id = new TEntry('status_id');
  44.         $tipodecadastro_id = new TEntry('tipodecadastro_id');
  45.         $nome = new TEntry('nome');
  46.         $telefone = new TEntry('telefone');
  47.         $celular = new TEntry('celular');
  48.         $corretor_id       = new TDBCombo('corretor_id','bancohip','corretor','id','nome');//TEntry('corretor_id');
  49.         
  50.         // add the fields
  51.         $this->form->addQuickField('Código'$id,  200 );
  52.         $this->form->addQuickField('Status'$status_id,  200 );
  53.         $this->form->addQuickField('Tipo de cadastro'$tipodecadastro_id,  200 );
  54.         $this->form->addQuickField('Nome'$nome,  200 );
  55.         $this->form->addQuickField('Telefone'$telefone,  200 );
  56.         $this->form->addQuickField('Celular'$celular,  200 );
  57.         $this->form->addQuickField('Corretor'$corretor_id,  200 );
  58.         
  59.         // keep the form filled during navigation with session data
  60.         $this->form->setDataTSession::getValue('pessoa_filter_data') );
  61.         
  62.         // add the search form actions
  63.         $this->form->addQuickAction(_t('Find'), new TAction(array($this'onSearch')), 'fa:search');
  64.         $this->form->addQuickAction(_t('New'),  new TAction(array('cadastrodeclientes''onEdit')), 'bs:plus-sign green');
  65.         
  66.         // creates a DataGrid
  67.         $this->datagrid = new TDataGrid;
  68.         
  69.         $this->datagrid->style 'width: 100%';
  70.         $this->datagrid->datatable 'true';
  71.         // $this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');
  72.         
  73.         // creates the datagrid columns
  74.         $column_id = new TDataGridColumn('id''Código''right');
  75.         $column_status_id = new TDataGridColumn('status_id''Status''right');
  76.         $column_tipodecadastro_id = new TDataGridColumn('tipodecadastro_id''Tipo de cadastro''right');
  77.         $column_corretor_id = new TDataGridColumn('corretor_id''Corretor''right');
  78.         $column_nome = new TDataGridColumn('nome''Nome''left');
  79.         $column_profissao = new TDataGridColumn('profissao''Profissao''left');
  80.         $column_telefone = new TDataGridColumn('telefone''Telefone''left');
  81.         $column_celular = new TDataGridColumn('celular''Celular''left');
  82.         // add the columns to the DataGrid
  83.         $this->datagrid->addColumn($column_id);
  84.         $this->datagrid->addColumn($column_status_id);
  85.         $this->datagrid->addColumn($column_tipodecadastro_id);
  86.         $this->datagrid->addColumn($column_corretor_id);
  87.         $this->datagrid->addColumn($column_nome);
  88.         $this->datagrid->addColumn($column_profissao);
  89.         $this->datagrid->addColumn($column_telefone);
  90.         $this->datagrid->addColumn($column_celular);
  91.         
  92.         // create EDIT action
  93.         $action_edit = new TDataGridAction(array('cadastrodeclientes''onEdit'));
  94.         $action_edit->setUseButton(TRUE);
  95.         $action_edit->setButtonClass('btn btn-default');
  96.         $action_edit->setLabel(_t('Edit'));
  97.         $action_edit->setImage('fa:pencil-square-o blue fa-lg');
  98.         $action_edit->setField('id');
  99.         $this->datagrid->addAction($action_edit);
  100.         
  101.         // create DELETE action
  102.         $action_del = new TDataGridAction(array($this'onDelete'));
  103.         $action_del->setUseButton(TRUE);
  104.         $action_del->setButtonClass('btn btn-default');
  105.         $action_del->setLabel(_t('Delete'));
  106.         $action_del->setImage('fa:trash-o red fa-lg');
  107.         $action_del->setField('id');
  108.         $this->datagrid->addAction($action_del);
  109.         
  110.         // create the datagrid model
  111.         $this->datagrid->createModel();
  112.         
  113.         // create the page navigation
  114.         $this->pageNavigation = new TPageNavigation;
  115.         $this->pageNavigation->setAction(new TAction(array($this'onReload')));
  116.         $this->pageNavigation->setWidth($this->datagrid->getWidth());
  117.         
  118.         // vertical box container
  119.         $container = new TVBox;
  120.         $container->style 'width: 90%';
  121.         $container->add(new TXMLBreadCrumb('menu.xml'__CLASS__));
  122.         $container->add($this->form);
  123.         $container->add($this->datagrid);
  124.         $container->add($this->pageNavigation);
  125.         
  126.         parent::add($container);
  127.     }
  128.     
  129. }

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


NR

Basicamente você precisa criar uma associação no model e depois chamá-la na grid.

Dá uma olhada no artigo do Pablo, vai esclarecer essa questão:
www.adianti.com.br/forum/pt/view_876?pensando-em-objetos-nao-em-sql-