Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Como adicionar botão em coluna detail_list de um mestre detalhe? Olá pessoal. Nesta minha página, que é um mestre detalhe, na lista dos detalhes estou tentando adicionar uma coluna que terá um botão quando o item tiver um arquivo anexado. Eu até consegui colocar o botão, mas quando tento setar a ação ele dá erro (linha comentada no código). Alguém sabe onde estou errando? O erro que dá é: Você deve passar o AdiantiWidgetFormTButton (Down...
FT
Como adicionar botão em coluna detail_list de um mestre detalhe?  
Olá pessoal. Nesta minha página, que é um mestre detalhe, na lista dos detalhes estou tentando adicionar uma coluna que terá um botão quando o item tiver um arquivo anexado.

Eu até consegui colocar o botão, mas quando tento setar a ação ele dá erro (linha comentada no código). Alguém sabe onde estou errando?

O erro que dá é: Você deve passar o AdiantiWidgetFormTButton (Download) como parâmetro para TForm::setFields()

  1. <?php
  2. foreach ($items as $list_item_key => $list_item)
  3.             {
  4.                 $item_name 'prod_' $cont++;
  5.                 $item = new StdClass;
  6.                 $buttonA = new TButton('anexo1');
  7.                 $buttonA->setImage('fa:cloud-download');
  8.           //      $buttonA->setAction(new TAction(array($this, 'onFinaliza')), 'Download');
  9.                 
  10.                 // items
  11.                 $item->id_mensagem $list_item['id_mensagem'];
  12.                 $item->usuario $list_item['usuario'];
  13.                 $item->conteudo $list_item['conteudo'];
  14.                 $item->anexo $buttonA;
  15.                 $item->data_reg TDate::date2br($list_item['data_reg']);
  16.                 
  17.                 $row $this->detail_list->addItem$item );
  18.                 $row->onmouseover='';
  19.                 $row->onmouseout='';
  20.             }
  21.             $this->form->setFields$this->formFields );
  22. ?>

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (1)


NR

Você precisa vincular o botão a um formulário:
  1. <?php
  2. // coloca botao no array de campos passados para o formulario com a funcao setFields
  3. $this->formFields$item_name.'_anexo' ] = $item->anexo;
  4. ...
  5. $this->form->setFields$this->formFields );
  6. ?>

Além disso, o nome do botão passado no construtor não pode ser fixo, senão, como está dentro de um foreach, vai acabar criando vários botões com o mesmo nome e gerar outra exception.

Veja as outras ações criadas pelo master/detail. A ideia é a mesma.