Ícone / botão não é adicionado na grid Pessoal, Estou tentando personalizar a grid e deixar os botões do lado direito, porém os ícones / botões não são adicionados. Alguém pode me ajudar, segue trecho código abaixo. ...
RB
Ícone / botão não é adicionado na grid  
Pessoal,

Estou tentando personalizar a grid e deixar os botões do lado direito, porém os ícones / botões não são adicionados.

Alguém pode me ajudar, segue trecho código abaixo.


 
  1. <?php
  2. class DatagridCheckView extends TPage
  3. {
  4. private $datagrid;
  5. private $pageNavigation;
  6. private $loaded;
  7. private $form;
  8. private $editar;
  9. public function __construct()
  10. {
  11. parent::__construct();
  12. $this->form = new TForm;
  13. // creates one datagrid
  14. //$this->datagrid = new BootstrapDatagridWrapper(new TQuickGrid);
  15. $this->datagrid = new TQuickGrid;
  16. $this->datagrid->style="width: 100%"; // Responsive
  17. // $this->datagrid->makeScrollable();
  18. $this->datagrid->disableDefaultClick(); // important!
  19. $this->form->add($this->datagrid);
  20. // add the columns
  21. $this->datagrid->addQuickColumn('#','id','right',8);
  22. $this->datagrid->addQuickColumn('Nome','nome','left');
  23. $this->datagrid->addQuickColumn('Data nascimento','data_nascimento','left');
  24. $this->datagrid->addQuickColumn('CPF','cpf','left');
  25. $this->datagrid->addQuickColumn('RG','rg','left');
  26. $this->datagrid->addQuickColumn('Genero','genero_id','left');
  27. $this->datagrid->addQuickColumn('Civil','civil','left');
  28. $this->datagrid->addQuickColumn('Etnia','etnia','left');
  29. $this->datagrid->addQuickColumn('','del','right',8);
  30. $this->datagrid->addQuickColumn('','editar','right',8);
  31. // creates the action button
  32. $button1=new TButton('action1');
  33. // define the button action
  34. $button1->setAction(new TAction(array($this, 'onSave')), 'Save');
  35. $button1->setImage('ico_save.png');
  36. // creates the datagrid model
  37. $this->datagrid->createModel();
  38. $this->form->addField($button1);
  39. // wrap the page content using vertical box
  40. $vbox = new TVBox;
  41. $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  42. $vbox->add($this->form);
  43. $vbox->add($button1);
  44. $vbox->add($this->pageNavigation);
  45. parent::add($vbox);
  46. }
  47. function onReload($param )
  48. {
  49. $this->datagrid->clear();
  50. try{
  51. //abre a transação com a base
  52. TTransaction::open('teste');
  53. //cria um repositório para carregar 'Cliente Fisico'
  54. $cliente = new TRepository('VwClienteFisico');
  55. $limit = 10;
  56. //cria um critério para filtrar os dados conforme usuário logado
  57. $criteria = new TCriteria;
  58. // default order
  59. if (empty($param['order']))
  60. {
  61. $param['order'] = 'id';
  62. $param['direction'] = 'desc';
  63. }
  64. $get_session = TSession::getValue('organizacion_id');//pega id da empresa na seção do usuário
  65. $criteria->setProperties($param); // order, offset
  66. $criteria->add(new TFilter('organizacao_id', '=', $get_session));
  67. //$criteria->add(new TFilter('tipo_pessoa_id', '=', '1'));
  68. $criteria->setProperty('limit',$limit);
  69. $objects = $cliente->load($criteria);
  70. if($objects)
  71. {
  72. foreach($objects as $object)
  73. {
  74. // create delete button
  75. $del = new TImage('fa:edit blue');
  76. $this->datagrid->addItem($object);
  77. }
  78. }
  79. TTransaction::close();
  80. $this->loaded = TRUE;
  81. }
  82. catch (Exception $e)
  83. {
  84. new TMessage('error',$e->getMessage());
  85. TTransaction::rollback();
  86. }
  87. ?>

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


AM

Bom dia, caro amigo sugiro que sempre que quiser customizar algum formulário , datagrid acesse o tutor para poder te orientar, mas segue abaixo :

https://www.adianti.com.br/framework_files/tutor/index.php?class=DatagridCustomV

Um abraço, espero ter te ajudado.
RB

Alexsander, boa tarde,

Foi justamente este exemplo que segui, porém não obive sucesso na hora de adicionar o botão ao lado direiro.
AM

Rubens faz o seguinte exclui a linha 36 e 37 do teu código e acrescenta o código abaixo :

$this->datagrid->addQuickAction('View', new TDataGridAction(array($this, 'onView')), 'name', 'fa:search blue');
$this->datagrid->addQuickAction('Delete', new TDataGridAction(array($this, 'onDelete')), 'code', 'fa:trash red');
AM

esqueci substituindo o name por nome e o code por id.

RB

Alexsander, bom dia,

Dessa forma eu consegui , o que eu quero é colocar os icone do lado direito da grid.
RB

Alexsander, o exemplo em que estou me baseando é este do link abaixo, porém quando utilizo as informações vidas do banco de dados os icones não são adicionados do lado direito.

https://www.adianti.com.br/forum/pt/view_3617?passar-um-metodo-na-acao-de-um-bot