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

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