AB
Problema com Popover
Boa Tarde, montei uma grid cfe modelo abaixo
Só que na hora de popular essa grid, ao tentar passar o botão de delete ele diz que nao pode passar um objto do tipo button para string, e dai por consequencia tambem não adiciona o botão ao form, se tiro o popover, funcionar tudo normal, alguem poderia me dar uma luz no que poderia estar havendo.
- <?php
- /** GRID Arquivos**/
- // creates a DataGrid
- $this->gridarq = new TQuickGrid;
- $this->gridarq->class='tdatagrid_table customized-table';
- $this->gridarq->style = 'width: 201% !important;';
- $this->gridarq->setHeight(320);
- //$this->gridarq->disableDefaultClick();
- $this->gridarq->enablePopover('Descrição', "<img src='app/arquivos/pessoa/{arquivo_imagem}' />");
- // add the columns to the DataGrid
- $column_arq_excluir = $this->gridarq->addQuickColumn('', 'delete', 'center');
- $column_arq_id = $this->gridarq->addQuickColumn('Código','arquivo_id', 'center');
- $column_arq_imagem = $this->gridarq->addQuickColumn('Arquivo', 'arquivo_imagem', 'center');
- // create the datagrid model
- $this->gridarq->createModel();
- ?>
Só que na hora de popular essa grid, ao tentar passar o botão de delete ele diz que nao pode passar um objto do tipo button para string, e dai por consequencia tambem não adiciona o botão ao form, se tiro o popover, funcionar tudo normal, alguem poderia me dar uma luz no que poderia estar havendo.
- <?php
- if ($arquivos)
- {
- $cont = 1;
- foreach ($arquivos as $arquivo => $arq)
- {
- $arquivo_nome = 'arquivo_' . $cont++;
- $item_arq = new StdClass;
- // create action buttons
- $action_del = new TAction(array($this, 'onExcluirArquivo'));
- $action_del->setParameter('arquivo', $arquivo);
- $button_del = new TButton('excluir_arquivo'.$cont);
- $button_del->class = 'btn btn-default btn-sm';
- $button_del->setAction( $action_del, 'Excluir' );
- $button_del->setImage('fa:trash-o red fa-lg');
- $item_arq->delete = $button_del;
- $this->formFields[ $arquivo_nome.'_delete' ] = $item_arq->delete;
- $item_arq->arquivo_id = $arq['id'];
- $item_arq->arquivo_imagem = $arq['imagem'];
- $row = $this->gridarq->addItem( $item_arq );
- $row->onmouseover='';
- $row->onmouseout='';
- }
- }
- ?>
o erro ocorre na linha 19 do segundo código, se tiro o popover, funciona normal e nao da mais erro.
Agostinho, você não pode criar o botão de delete da maneira tradicional($this->datagrid->addQuickAction)?
Pelo que vi, ao criar o popover o Adianti faz um replace de todos os seus atributos para exibição na popover. Como um dos atributos é um objeto(delete=TButton) o replace exibe esse erro.
Boa tarde, obrigado elo retorno Nataniel, vou tentar fazer dessa forma, é que to montando seguindo um exemplo do tutor, e até que funciona, mas sem o popover, e eu preciso dele apenas para mostrar a foto que ta associada a cada linha da grid, vou tentar e posto aqui o resultado.
Grato