JP
Imagem Popover Datagrid
Boa noite pessoal!
Estou passando por dificuldades em exibir imagens em datagrid usando o recurso popover. o cogido é o seguinte:
Na linha onde habilito o popover (
Se alterado o nome do campo "foto" pra qualquer coisa o problema não ocorre, mas a imagem também não é carregada. A tabela do banco de dados está como "text" assim como a tabela "product" do banco de dados "samples" do tutor.. na tabela é gravado o caminho certinho, porem não carrega.
Se eu usar o trecho de codigo "
Alguém pode me ajudar no que estou errando.
Estou passando por dificuldades em exibir imagens em datagrid usando o recurso popover. o cogido é o seguinte:
- <?php
- /**
- * MedicoList Listing
- * @author <your name here>
- */
- class MedicoList extends TStandardList
- {
- protected $form; // form
- protected $datagrid; // listing
- protected $pageNavigation;
- // trait with onReload, onSearch, onDelete...
- use Adianti\Base\AdiantiStandardListTrait;
- /**
- * Class constructor
- * Creates the page, the form and the listing
- */
- public function __construct()
- {
- parent::__construct();
- parent::setDatabase('sgcm');
- parent::setActiveRecord('Medico');
- parent::addFilterField('id', '=', 'id');
- parent::addFilterField('nm_medico', 'like', 'nm_medico');
- parent::addFilterField('crm', 'like', 'crm');
- parent::addFilterField('bairro', 'like', 'bairro');
- parent::addFilterField('cidade', 'like', 'cidade');
- parent::setDefaultOrder('id', 'desc');
- // creates the form
- $this->form = new BootstrapFormBuilder('list_Medico');
- // define the form title
- $this->form->setFormTitle('Medico');
- $id = new TEntry('id');
- $nm_medico = new TEntry('nm_medico');
- $crm = new TEntry('crm');
- $bairro = new TEntry('bairro');
- $cidade = new TEntry('cidade');
- $id->setSize(100);
- $nm_medico->setSize('72%');
- $bairro->setSize('72%');
- $crm->setSize('72%');
- $cidade->setSize('72%');
- $this->form->addFields([new TLabel('Código:')],[$id]);
- $this->form->addFields([new TLabel('Nome:')],[$nm_medico],[new TLabel('CRM:','#ff0000')],[$crm]);
- $this->form->addFields([new TLabel('Bairro:')],[$bairro],[new TLabel('Cidade:')],[$cidade]);
- // keep the form filled during navigation with session data
- $this->form->setData( TSession::getValue(__CLASS__.'_filter_data') );
- $this->form->addAction('Buscar', new TAction([$this, 'onSearch']), 'fa:search')->addStyleClass('btn-primary');
- $this->form->addAction('Cadastrar', new TAction(['MedicoForm', 'onEdit']), 'fa:plus #69aa46');
- // creates a Datagrid
- $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
- $this->datagrid->style = 'width: 100%';
- $this->datagrid->enablePopover('Medico',"<img style='max-height: 150px' src='{foto}'>");
- // $this->datagrid->datatable = 'true';
- $column_codigo = new TDataGridColumn('id', 'Código', 'center' , '50');
- $column_nome = new TDataGridColumn('nm_medico', 'Nome', 'left');
- $column_fone = new TDataGridColumn('tel_cel', 'Fone', 'left');
- $column_email = new TDataGridColumn('email', 'Email', 'left');
- $column_cidade_nome = new TDataGridColumn('cidade', 'Cidade', 'left');
- $column_crm = new TDataGridColumn('crm', 'CRM', 'left');
- $column_cpf = new TDataGridColumn('cpf', 'CPF', 'left');
- $this->datagrid->addColumn($column_codigo);
- $this->datagrid->addColumn($column_nome);
- $this->datagrid->addColumn($column_crm);
- $this->datagrid->addColumn($column_cpf);
- $this->datagrid->addColumn($column_email);
- $this->datagrid->addColumn($column_fone);
- $this->datagrid->addColumn($column_cidade_nome);
- $action_onEdit = new TDataGridAction(array('MedicoForm', 'onEdit'));
- $action_onEdit->setButtonClass('btn btn-default btn-sm');
- $action_onEdit->setLabel('Editar');
- $action_onEdit->setImage('fa:pencil-square-o blue');
- $action_onEdit->setField('id');
- $this->datagrid->addAction($action_onEdit);
- $action_onDelete = new TDataGridAction(array($this, 'onDelete'));
- $action_onDelete->setButtonClass('btn btn-default btn-sm');
- $action_onDelete->setLabel('Excluir');
- $action_onDelete->setImage('fa:trash-o red');
- $action_onDelete->setField('id');
- $this->datagrid->addAction($action_onDelete);
- // create the datagrid model
- $this->datagrid->createModel();
- // creates the page navigation
- $this->pageNavigation = new TPageNavigation;
- $this->pageNavigation->setAction(new TAction(array($this, 'onReload')));
- $this->pageNavigation->setWidth($this->datagrid->getWidth());
- $panel = new TPanelGroup;
- $panel->add($this->datagrid);
- $panel->addFooter($this->pageNavigation);
- // vertical box container
- $container = new TVBox;
- $container->style = 'width: 100%';
- $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $container->add($this->form);
- $container->add($panel);
- parent::add($container);
- }
- }
- </code>
Na linha onde habilito o popover (
$this->datagrid->enablePopover('Medico',"<img style='max-height: 150px' src='{foto}'>");
) quando passo o cursor do mouse sobre a linha da datagrid sempre da o erro ou aviso em anexo.
Se alterado o nome do campo "foto" pra qualquer coisa o problema não ocorre, mas a imagem também não é carregada. A tabela do banco de dados está como "text" assim como a tabela "product" do banco de dados "samples" do tutor.. na tabela é gravado o caminho certinho, porem não carrega.
Se eu usar o trecho de codigo "
$this->datagrid->enablePopover('Medico',"<div class='well'>{foto}</div>");
" o caminho aparece certo no popover.
Alguém pode me ajudar no que estou errando.
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!
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!
Dominando o Adianti Framework Quero me inscrever agora!
Bom dia pessoal!
Resolvido removendo o arquivo .htaccess da pasta "files".
De qualquer forma obrigado!
Great! From Indonesia