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.
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.
- <?php
- class DatagridCheckView extends TPage
- {
- private $datagrid;
- private $pageNavigation;
- private $loaded;
- private $form;
- private $editar;
- public function __construct()
- {
- parent::__construct();
- $this->form = new TForm;
- // creates one datagrid
- //$this->datagrid = new BootstrapDatagridWrapper(new TQuickGrid);
- $this->datagrid = new TQuickGrid;
- $this->datagrid->style="width: 100%"; // Responsive
- // $this->datagrid->makeScrollable();
- $this->datagrid->disableDefaultClick(); // important!
- $this->form->add($this->datagrid);
- // add the columns
- $this->datagrid->addQuickColumn('#','id','right',8);
- $this->datagrid->addQuickColumn('Nome','nome','left');
- $this->datagrid->addQuickColumn('Data nascimento','data_nascimento','left');
- $this->datagrid->addQuickColumn('CPF','cpf','left');
- $this->datagrid->addQuickColumn('RG','rg','left');
- $this->datagrid->addQuickColumn('Genero','genero_id','left');
- $this->datagrid->addQuickColumn('Civil','civil','left');
- $this->datagrid->addQuickColumn('Etnia','etnia','left');
- $this->datagrid->addQuickColumn('','del','right',8);
- $this->datagrid->addQuickColumn('','editar','right',8);
- // creates the action button
- $button1=new TButton('action1');
- // define the button action
- $button1->setAction(new TAction(array($this, 'onSave')), 'Save');
- $button1->setImage('ico_save.png');
- // creates the datagrid model
- $this->datagrid->createModel();
- $this->form->addField($button1);
- // wrap the page content using vertical box
- $vbox = new TVBox;
- $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $vbox->add($this->form);
- $vbox->add($button1);
- $vbox->add($this->pageNavigation);
- parent::add($vbox);
- }
- function onReload($param )
- {
- $this->datagrid->clear();
- try{
- //abre a transação com a base
- TTransaction::open('teste');
- //cria um repositório para carregar 'Cliente Fisico'
- $cliente = new TRepository('VwClienteFisico');
- $limit = 10;
- //cria um critério para filtrar os dados conforme usuário logado
- $criteria = new TCriteria;
- // default order
- if (empty($param['order']))
- {
- $param['order'] = 'id';
- $param['direction'] = 'desc';
- }
- $get_session = TSession::getValue('organizacion_id');//pega id da empresa na seção do usuário
- $criteria->setProperties($param); // order, offset
- $criteria->add(new TFilter('organizacao_id', '=', $get_session));
- //$criteria->add(new TFilter('tipo_pessoa_id', '=', '1'));
- $criteria->setProperty('limit',$limit);
- $objects = $cliente->load($criteria);
- if($objects)
- {
- foreach($objects as $object)
- {
- // create delete button
- $del = new TImage('fa:edit blue');
- $this->datagrid->addItem($object);
- }
- }
- TTransaction::close();
- $this->loaded = TRUE;
- }
- catch (Exception $e)
- {
- new TMessage('error',$e->getMessage());
- TTransaction::rollback();
- }
- ?>
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.
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.
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');
esqueci substituindo o name por nome e o code por id.
Alexsander, bom dia,
Dessa forma eu consegui , o que eu quero é colocar os icone do lado direito da grid.
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