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. // items
  10. $item->id_mensagem = $list_item['id_mensagem'];
  11. $item->usuario = $list_item['usuario'];
  12. $item->conteudo = $list_item['conteudo'];
  13. $item->anexo = $buttonA;
  14. $item->data_reg = TDate::date2br($list_item['data_reg']);
  15. $row = $this->detail_list->addItem( $item );
  16. $row->onmouseover='';
  17. $row->onmouseout='';
  18. }
  19. $this->form->setFields( $this->formFields );
  20. ?>

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 (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.