Lançado Adianti Framework 7.6!
Clique aqui para saber mais
onDelete não funciona Olá pessoal, boa tarde. Tenho um ClienteFormView com as informações exibidas em abas. Neste ClienteFormView trago informações de três tabelas diferentes, (Tabela Cliente, Tabela Histórico CLiente, Tabela Dependentes). Consegui exibir neste ClienteFormView os dados da tabela Histórico Ciente e Dependentes a través de uma data grid, e neste data grid consegui implementar a função de ed...
ET
onDelete não funciona  
Olá pessoal, boa tarde.

Tenho um ClienteFormView com as informações exibidas em abas. Neste ClienteFormView trago informações de três tabelas diferentes, (Tabela Cliente, Tabela Histórico CLiente, Tabela Dependentes). Consegui exibir neste ClienteFormView os dados da tabela Histórico Ciente e Dependentes a través de uma data grid, e neste data grid consegui implementar a função de editar os dados de do histórico e dos dependentes. O problema está sendo para executar a função de delete para os data grids.

Segue código:
  1. <?php 
  1. <?php
  2. /**
  3.  * ClienteFormView Form
  4.  * @author  <Marconi Torquato>
  5.  */
  6. class ClienteFormView extends TPage
  7. {
  8.     protected $form// form
  9.     protected $datagrid// listing
  10.     protected $pageNavigation;
  11.     use Adianti\Base\AdiantiStandardListTrait;
  12.     
  13.     /**
  14.      * Form constructor
  15.      * @param $param Request
  16.      */
  17.     public function __construct$param )
  18.     {
  19.         parent::__construct();
  20.         TTransaction::open('microerp');
  21.         $this->form = new BootstrapFormBuilder('form_Cliente');
  22.         $this->form->setFormTitle('Cliente');
  23.         $this->form->appendPage('Beneficiário');
  24.         $label1 = new TLabel('Id:''#333333''12px''');
  25.         $label2 = new TLabel('Código Cliente:''#333333''12px''');
  26.         $label3 = new TLabel('Data Cadastro:''#333333''12px''');
  27.         $label4 = new TLabel('Nome:''#333333''12px''');
  28.         $label5 = new TLabel('Sexo:''#333333''12px''');
  29.         $label6 = new TLabel('RG:''#333333''12px''');
  30.         $label7 = new TLabel('Orgão Expeditor:''#333333''12px''');
  31.         $label8 = new TLabel('CPF:''#333333''12px''');
  32.         $label9 = new TLabel('Profissão:''#333333''12px''');
  33.         $label10 = new TLabel('Religião:''#333333''12px''');
  34.         $label11 = new TLabel('Estado Civil:''#333333''12px''');
  35.         $label12 = new TLabel('Data Nascimento:''#333333''12px''');
  36.         $label13 = new TLabel('Idade:''#333333''12px''');
  37.         $label14 = new TLabel('Data Falecimento:''#333333''12px''');
  38.         $label15 = new TLabel('Telefone 1:''#333333''12px''');
  39.         $label16 = new TLabel('Telefone 2:''#333333''12px''');
  40.         $label17 = new TLabel('Celular:''#333333''12px''');
  41.         $label18 = new TLabel('UF:''#333333''12px''');
  42.         $label19 = new TLabel('Cidade:''#333333''12px''');
  43.         $label20 = new TLabel('Bairro:''#333333''12px''');
  44.         $label21 = new TLabel('Número:''#333333''12px''');
  45.         $label22 = new TLabel('Complemento:''#333333''12px''');
  46.         $label23 = new TLabel('CEP:''#333333''12px''');
  47.         $label24 = new TLabel('Referência:''#333333''12px''');
  48.         $label25 = new TLabel('Data Admissão:''#333333''12px''');
  49.         $label26 = new TLabel('Data Carência:''#333333''12px''');
  50.         $label27 = new TLabel('Primeiro Vencimento:''#333333''12px''');
  51.         $label28 = new TLabel('Área:''#333333''12px''');
  52.         
  53.         $cliente = new Cliente($param['key']);
  54.         
  55.         $text1  = new TTextDisplay($cliente->id'#333333''12px''');
  56.         $text2  = new TTextDisplay($cliente->codigo_cliente'#333333''12px''');
  57.         $text3  = new TTextDisplay(TDate::convertToMask($cliente->data_cadastro'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  58.         $text4  = new TTextDisplay($cliente->nome'#333333''12px''');
  59.         $text5  = new TTextDisplay($cliente->sexo->sexo'#333333''12px''');
  60.         $text6  = new TTextDisplay($cliente->rg'#333333''12px''');
  61.         $text7  = new TTextDisplay($cliente->orgao_expeditor'#333333''12px''');
  62.         $text8  = new TTextDisplay($cliente->cpf'#333333''12px''');
  63.         $text9  = new TTextDisplay($cliente->profissao'#333333''12px''');
  64.         $text10  = new TTextDisplay($cliente->religiao'#333333''12px''');
  65.         $text11  = new TTextDisplay($cliente->estado_civil'#333333''12px''');
  66.         $text12  = new TTextDisplay(TDate::convertToMask($cliente->data_nascimento'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  67.         $text13  = new TTextDisplay($cliente->idade'#333333''12px''');
  68.         $text14  = new TTextDisplay(TDate::convertToMask($cliente->data_falecimento'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  69.         $text15  = new TTextDisplay($cliente->telefone_um'#333333''12px''');
  70.         $text16  = new TTextDisplay($cliente->telefone_dois'#333333''12px''');
  71.         $text17  = new TTextDisplay($cliente->celular'#333333''12px''');
  72.         $text18  = new TTextDisplay($cliente->uf->uf'#333333''12px''');
  73.         $text19  = new TTextDisplay($cliente->cidade->nome'#333333''12px''');
  74.         $text20  = new TTextDisplay($cliente->bairro->bairro'#333333''12px''');
  75.         $text21  = new TTextDisplay($cliente->numero'#333333''12px''');
  76.         $text22  = new TTextDisplay($cliente->complemento'#333333''12px''');
  77.         $text23  = new TTextDisplay($cliente->cep'#333333''12px''');
  78.         $text24  = new TTextDisplay($cliente->referencia'#333333''12px''');
  79.         $text25  = new TTextDisplay(TDate::convertToMask($cliente->data_admissao'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  80.         $text26  = new TTextDisplay(TDate::convertToMask($cliente->data_carencia'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  81.         $text27  = new TTextDisplay(TDate::convertToMask($cliente->primeiro_vencimento'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  82.         $text28  = new TTextDisplay($cliente->area->area'#333333''12px''');
  83.         $this->form->addFields([$label1],[$text1], [$label19],[$text19]);
  84.         $this->form->addFields([$label2],[$text2], [$label28],[$text28]);
  85.         $this->form->addFields([$label3],[$text3], [$label18],[$text18]);
  86.         $this->form->addFields([$label4],[$text4], [$label20],[$text20]);
  87.         $this->form->addFields([$label5],[$text5], [$label21],[$text21]);
  88.         $this->form->addFields([$label6],[$text6], [$label22],[$text22]);
  89.         $this->form->addFields([$label7],[$text7], [$label23],[$text23]);
  90.         $this->form->addFields([$label8],[$text8], [$label12],[$text12]);        
  91.         $this->form->addFields([$label11],[$text11], [$label25],[$text25]);
  92.         $this->form->addFields([$label13],[$text13], [$label14],[$text14]);
  93.         $this->form->appendPage('Pagamentos');
  94.         $this->form->addFields([$label26],[$text26], [$label27],[$text27]);
  95.         $this->form->appendPage('Informações');
  96.         $this->form->addFields([$label9],[$text9], [$label10],[$text10]);
  97.         $this->form->addFields([$label15],[$text15], [$label16],[$text16]);
  98.         $this->form->addFields([$label17],[$text17], [$label24],[$text24]);
  99.         
  100.         $this->form->appendPage('Histórico');
  101.         //DataGrid Histórico
  102.         $this->historico_cliente_list = new TQuickGrid;
  103.         $this->historico_cliente_list->style 'width:100%';
  104.         $this->historico_cliente_list->disableDefaultClick();
  105.         
  106.         $this->historico_cliente_list->addQuickColumn('Histórico''observacao''left');
  107.         $this->historico_cliente_list->addQuickColumn('Data''data_historico''left');
  108.         
  109.         $action_onEdit = new TDataGridAction(array('HistoricoClienteForm''onEdit'));
  110.         $action_onEdit->setButtonClass('btn btn-default btn-sm');
  111.         $action_onEdit->setLabel('Editar');
  112.         $action_onEdit->setImage('fa:pencil-square-o blue');
  113.         $action_onEdit->setField('id');
  114.         $this->historico_cliente_list->addAction($action_onEdit);
  115.         $action_onDelete = new TDataGridAction(array($this'onDelete'));
  116.         $action_onDelete->setButtonClass('btn btn-default btn-sm');
  117.         $action_onDelete->setLabel('Excluir');
  118.         $action_onDelete->setImage('fa:trash-o red');
  119.         $action_onDelete->setField('id');
  120.         $this->historico_cliente_list->addAction($action_onDelete);
  121.         
  122.         $this->historico_cliente_list->createModel();
  123.         
  124.         $items HistoricoCliente::where('cliente_id''='$cliente->id)->load();
  125.         $this->historico_cliente_list->addItems($items);
  126.         
  127.         $panel = new TPanelGroup('Histórico''#f5f5f5');
  128.         $panel->add(new BootstrapDatagridWrapper($this->historico_cliente_list));
  129.         
  130.         $this->form->addContent([$panel]);
  131.         $this->form->appendPage('Dependentes');
  132.         //DataGrid Dependentes
  133.         $this->dependente_cliente_list = new TQuickGrid;
  134.         $this->dependente_cliente_list->style 'width:100%';
  135.         $this->dependente_cliente_list->disableDefaultClick();
  136.         //$this->dependente_cliente_list->addQuickColumn('Editar', 'edit', 'left', 50);
  137.         
  138.         $this->dependente_cliente_list->addQuickColumn('Nome''nome''left');
  139.         $this->dependente_cliente_list->addQuickColumn('Status''status_dependente->status_dependente''center');
  140.         $this->dependente_cliente_list->addQuickColumn('Data Admissão''data_admissao''center');
  141.         $this->dependente_cliente_list->addQuickColumn('Data Carência''data_carencia''center');
  142.         $action_onEdit = new TDataGridAction(array('DependenteForm''onEdit'));
  143.         $action_onEdit->setButtonClass('btn btn-default btn-sm');
  144.         $action_onEdit->setLabel('Editar');
  145.         $action_onEdit->setImage('fa:pencil-square-o blue');
  146.         $action_onEdit->setField('id');
  147.         $this->dependente_cliente_list->addAction($action_onEdit);
  148.         
  149.         $this->dependente_cliente_list->createModel();
  150.         
  151.         $items Dependente::where('cliente_id''='$cliente->id)->load();
  152.         $this->dependente_cliente_list->addItems($items);
  153.         
  154.         $panel = new TPanelGroup('Dependentes''#f5f5f5');
  155.         $panel->add(new BootstrapDatagridWrapper($this->dependente_cliente_list));
  156.         
  157.         $this->form->addContent([$panel]);
  158.         
  159.         //$this->form->addHeaderAction('Imprimir', new TAction(['PedidoFormView', 'onPrint'],['key'=>$pedido->id]), 'fa:file-pdf-o red');
  160.         //$this->form->addHeaderAction('Editar', new TAction(['ClienteForm', 'onEdit'],['key'=>$cliente->id]), 'fa:pencil-square-o blue');
  161.         // vertical box container
  162.         $container = new TVBox;
  163.         $container->style 'width: 100%';
  164.         $container->class 'formView-container'
  165.         $container->add(new TXMLBreadCrumb('menu.xml''ClienteList'));
  166.         $container->add($this->form);
  167.         TTransaction::close();
  168.         parent::add($container);
  169.     }
  170.     /**
  171.      * Imprime o pedido
  172.      */
  173.     public function onPrint($param)
  174.     {
  175.         try
  176.         {
  177.             TTransaction::open('microerp');
  178.             
  179.             $object Pedido::find($param['key']);
  180.             
  181.             if ($object)
  182.             {
  183.                 $html = new AdiantiHTMLDocumentParser('app/documents/PedidoDocument.html''A4''portrait');
  184.                 $html->setMaster($object);
  185.     
  186.                 $objects PedidoItem::where('pedido_id''='$object->id)->load();
  187.                 $html->setDetail('PedidoItem'$objects);
  188.     
  189.                 $html->process();
  190.                 $output $html->getContents();
  191.                 
  192.                 $document 'tmp/'.uniqid().'.pdf'
  193.                 $html AdiantiHTMLDocumentParser::newFromString($output);
  194.                 $html->saveAsPDF($document);
  195.                 
  196.                 parent::openFile($document);
  197.                 new TMessage('info'_t('Document successfully generated'));
  198.             }
  199.             
  200.             TTransaction::close();
  201.         }
  202.         catch (Exception $e)
  203.         {
  204.             throw new Exception($e->getMessage());
  205.         }
  206.     }
  207.     
  208.     public function onShow()
  209.     {      
  210.     } 
  211. }
  212. ?>


Quando executo a app, ele me retorna o seguinte erro na tela de ClienteFormView: Database não definido. Você deve executar setDatabase() no Construtor. Estou usando um TTransaction::open('microerp');

Mesmo assim os dados são carregados normalmente.

Na aba "Histórico" onde é exibida a grid com os dados do histórico do cliente, os dados são carregados normalmente, mas ao clicar no ícone de delete para excluir o registro ele me retorna o seguinte erro:

Objeto 1 não encontrado em cliente

File: appmodelCliente.class.php : 14
AdiantiDatabaseTRecord->__construct(1,1)
File: appcontrolcadastros_basicosclientesClienteFormView.php : 56
Cliente->__construct(1)
File: libadianticoreAdiantiCoreApplication.php : 60
ClienteFormView->__construct(ClienteFormView,onDelete,1,1)
File: engine.php : 36
AdiantiCoreAdiantiCoreApplication::run(1)
File: engine.php : 55
TApplication::run(1)

Está tentando fazer o delete na tabela cliente e não na de Histórico correto?

A minha duvida é: Como posso fazer para deletar somente os dados da grid da tabela Histórico do cliente neste contexto?

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 (3)


NR

O código que você enviou está completo? Se sim, está herdando a função de delete da trait AdiantiStandardListTrait. Reescreva essa função e faça as alterações necessárias.

Sobre a mensagem "Database não definido", ela também tem relação com o uso da trait, pois a função onReload(da trait) será executada e ela necessita das configurações de banco de dados e active record. Adicione o código abaixo no início do construtor:
  1. <?php
  2. $this->setDatabase('seu_banco');        // defines the database
  3. $this->setActiveRecord('SeuModel');   // defines the active record
  4. ?>

Mas no seu caso não tenho certeza se tem a necessidade de usar essa trait, pois ela é mais utilizada para lists e aparentemente você não está usando os métodos dela.
ET

Bom dia Nataniel, realmente não há necessidade da trait. o que eu preciso fazer, é implementar a função de delete para as grids (historico_cliente_list) e (dependente_cliente_list). Mas não estou conseguindo. Quando tento executar recebo o erro:

Método AdiantiControlTAction::__construct deve receber um parâmetro
do tipo Callback
Verifique se a ação (ClienteFormView::onDelete) existe

Preciso implementar um onDelete para cada grid separadamente?

Segue código atualizado:

  1. <?php
  2. /**
  3.  * ClienteFormView Form
  4.  * @author  <Marconi Torquato>
  5.  */
  6. class ClienteFormView extends TPage
  7. {
  8.     protected $form// form
  9.     protected $datagrid// listing
  10.     protected $pageNavigation;
  11.     
  12.     /**
  13.      * Form constructor
  14.      * @param $param Request
  15.      */
  16.     public function __construct$param )
  17.     {
  18.         parent::__construct();
  19.         TTransaction::open('microerp');
  20.         $this->form = new BootstrapFormBuilder('form_Cliente');
  21.         $this->form->setFormTitle('Cliente');
  22.         $this->form->appendPage('Beneficiário');
  23.         $label1 = new TLabel('Id:''#333333''12px''');
  24.         $label2 = new TLabel('Código Cliente:''#333333''12px''');
  25.         $label3 = new TLabel('Data Cadastro:''#333333''12px''');
  26.         $label4 = new TLabel('Nome:''#333333''12px''');
  27.         $label5 = new TLabel('Sexo:''#333333''12px''');
  28.         $label6 = new TLabel('RG:''#333333''12px''');
  29.         $label7 = new TLabel('Orgão Expeditor:''#333333''12px''');
  30.         $label8 = new TLabel('CPF:''#333333''12px''');
  31.         $label9 = new TLabel('Profissão:''#333333''12px''');
  32.         $label10 = new TLabel('Religião:''#333333''12px''');
  33.         $label11 = new TLabel('Estado Civil:''#333333''12px''');
  34.         $label12 = new TLabel('Data Nascimento:''#333333''12px''');
  35.         $label13 = new TLabel('Idade:''#333333''12px''');
  36.         $label14 = new TLabel('Data Falecimento:''#333333''12px''');
  37.         $label15 = new TLabel('Telefone 1:''#333333''12px''');
  38.         $label16 = new TLabel('Telefone 2:''#333333''12px''');
  39.         $label17 = new TLabel('Celular:''#333333''12px''');
  40.         $label18 = new TLabel('UF:''#333333''12px''');
  41.         $label19 = new TLabel('Cidade:''#333333''12px''');
  42.         $label20 = new TLabel('Bairro:''#333333''12px''');
  43.         $label21 = new TLabel('Número:''#333333''12px''');
  44.         $label22 = new TLabel('Complemento:''#333333''12px''');
  45.         $label23 = new TLabel('CEP:''#333333''12px''');
  46.         $label24 = new TLabel('Referência:''#333333''12px''');
  47.         $label25 = new TLabel('Data Admissão:''#333333''12px''');
  48.         $label26 = new TLabel('Data Carência:''#333333''12px''');
  49.         $label27 = new TLabel('Primeiro Vencimento:''#333333''12px''');
  50.         $label28 = new TLabel('Área:''#333333''12px''');
  51.         
  52.         $cliente = new Cliente($param['key']);
  53.         
  54.         $text1  = new TTextDisplay($cliente->id'#333333''12px''');
  55.         $text2  = new TTextDisplay($cliente->codigo_cliente'#333333''12px''');
  56.         $text3  = new TTextDisplay(TDate::convertToMask($cliente->data_cadastro'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  57.         $text4  = new TTextDisplay($cliente->nome'#333333''12px''');
  58.         $text5  = new TTextDisplay($cliente->sexo->sexo'#333333''12px''');
  59.         $text6  = new TTextDisplay($cliente->rg'#333333''12px''');
  60.         $text7  = new TTextDisplay($cliente->orgao_expeditor'#333333''12px''');
  61.         $text8  = new TTextDisplay($cliente->cpf'#333333''12px''');
  62.         $text9  = new TTextDisplay($cliente->profissao'#333333''12px''');
  63.         $text10  = new TTextDisplay($cliente->religiao'#333333''12px''');
  64.         $text11  = new TTextDisplay($cliente->estado_civil'#333333''12px''');
  65.         $text12  = new TTextDisplay(TDate::convertToMask($cliente->data_nascimento'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  66.         $text13  = new TTextDisplay($cliente->idade'#333333''12px''');
  67.         $text14  = new TTextDisplay(TDate::convertToMask($cliente->data_falecimento'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  68.         $text15  = new TTextDisplay($cliente->telefone_um'#333333''12px''');
  69.         $text16  = new TTextDisplay($cliente->telefone_dois'#333333''12px''');
  70.         $text17  = new TTextDisplay($cliente->celular'#333333''12px''');
  71.         $text18  = new TTextDisplay($cliente->uf->uf'#333333''12px''');
  72.         $text19  = new TTextDisplay($cliente->cidade->nome'#333333''12px''');
  73.         $text20  = new TTextDisplay($cliente->bairro->bairro'#333333''12px''');
  74.         $text21  = new TTextDisplay($cliente->numero'#333333''12px''');
  75.         $text22  = new TTextDisplay($cliente->complemento'#333333''12px''');
  76.         $text23  = new TTextDisplay($cliente->cep'#333333''12px''');
  77.         $text24  = new TTextDisplay($cliente->referencia'#333333''12px''');
  78.         $text25  = new TTextDisplay(TDate::convertToMask($cliente->data_admissao'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  79.         $text26  = new TTextDisplay(TDate::convertToMask($cliente->data_carencia'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  80.         $text27  = new TTextDisplay(TDate::convertToMask($cliente->primeiro_vencimento'yyyy-mm-dd''dd/mm/yyyy'), '#333333''12px''');
  81.         $text28  = new TTextDisplay($cliente->area->area'#333333''12px''');
  82.         $this->form->addFields([$label1],[$text1], [$label19],[$text19]);
  83.         $this->form->addFields([$label2],[$text2], [$label28],[$text28]);
  84.         $this->form->addFields([$label3],[$text3], [$label18],[$text18]);
  85.         $this->form->addFields([$label4],[$text4], [$label20],[$text20]);
  86.         $this->form->addFields([$label5],[$text5], [$label21],[$text21]);
  87.         $this->form->addFields([$label6],[$text6], [$label22],[$text22]);
  88.         $this->form->addFields([$label7],[$text7], [$label23],[$text23]);
  89.         $this->form->addFields([$label8],[$text8], [$label12],[$text12]);        
  90.         $this->form->addFields([$label11],[$text11], [$label25],[$text25]);
  91.         $this->form->addFields([$label13],[$text13], [$label14],[$text14]);
  92.         $this->form->appendPage('Pagamentos');
  93.         $this->form->addFields([$label26],[$text26], [$label27],[$text27]);
  94.         $this->form->appendPage('Informações');
  95.         $this->form->addFields([$label9],[$text9], [$label10],[$text10]);
  96.         $this->form->addFields([$label15],[$text15], [$label16],[$text16]);
  97.         $this->form->addFields([$label17],[$text17], [$label24],[$text24]);
  98.         
  99.         $this->form->appendPage('Histórico');
  100.         //DataGrid Histórico
  101.         $this->historico_cliente_list = new TQuickGrid;
  102.         $this->historico_cliente_list->style 'width:100%';
  103.         $this->historico_cliente_list->disableDefaultClick();
  104.         
  105.         $this->historico_cliente_list->addQuickColumn('Id''id''left');
  106.         $this->historico_cliente_list->addQuickColumn('Histórico''observacao''left');
  107.         $this->historico_cliente_list->addQuickColumn('Data''data_historico''left');
  108.         
  109.         $action_onEdit = new TDataGridAction(array('HistoricoClienteForm''onEdit'));
  110.         $action_onEdit->setButtonClass('btn btn-default btn-sm');
  111.         $action_onEdit->setLabel('Editar');
  112.         $action_onEdit->setImage('fa:pencil-square-o blue');
  113.         $action_onEdit->setField('id');
  114.         $this->historico_cliente_list->addAction($action_onEdit);
  115.         $action_onDelete = new TDataGridAction(array($this'onDelete'));
  116.         $action_onDelete->setButtonClass('btn btn-default btn-sm');
  117.         $action_onDelete->setLabel('Excluir');
  118.         $action_onDelete->setImage('fa:trash-o red');
  119.         $action_onDelete->setField('id');
  120.         $this->historico_cliente_list->addAction($action_onDelete);
  121.         
  122.         $this->historico_cliente_list->createModel();
  123.         
  124.         $items HistoricoCliente::where('cliente_id''='$cliente->id)->load();
  125.         $this->historico_cliente_list->addItems($items);
  126.         
  127.         $panel = new TPanelGroup('Histórico''#f5f5f5');
  128.         $panel->add(new BootstrapDatagridWrapper($this->historico_cliente_list));
  129.         
  130.         $this->form->addContent([$panel]);
  131.         $this->form->appendPage('Dependentes');
  132.         //DataGrid Dependentes
  133.         $this->dependente_cliente_list = new TQuickGrid;
  134.         $this->dependente_cliente_list->style 'width:100%';
  135.         $this->dependente_cliente_list->disableDefaultClick();
  136.         $this->dependente_cliente_list->addQuickColumn('Editar''edit''left'50);
  137.         
  138.         $this->dependente_cliente_list->addQuickColumn('Nome''nome''left');
  139.         $this->dependente_cliente_list->addQuickColumn('Status''status_dependente->status_dependente''center');
  140.         $this->dependente_cliente_list->addQuickColumn('Data Admissão''data_admissao''center');
  141.         $this->dependente_cliente_list->addQuickColumn('Data Carência''data_carencia''center');
  142.         $action_onEdit = new TDataGridAction(array('DependenteForm''onEdit'));
  143.         $action_onEdit->setButtonClass('btn btn-default btn-sm');
  144.         $action_onEdit->setLabel('Editar');
  145.         $action_onEdit->setImage('fa:pencil-square-o blue');
  146.         $action_onEdit->setField('id');
  147.         $this->dependente_cliente_list->addAction($action_onEdit);
  148.         
  149.         $this->dependente_cliente_list->createModel();
  150.         
  151.         $items Dependente::where('cliente_id''='$cliente->id)->load();
  152.         $this->dependente_cliente_list->addItems($items);
  153.         
  154.         $panel = new TPanelGroup('Dependentes''#f5f5f5');
  155.         $panel->add(new BootstrapDatagridWrapper($this->dependente_cliente_list));
  156.         
  157.         $this->form->addContent([$panel]);
  158.         // vertical box container
  159.         $container = new TVBox;
  160.         $container->style 'width: 100%';
  161.         $container->class 'formView-container'
  162.         $container->add(new TXMLBreadCrumb('menu.xml''ClienteList'));
  163.         $container->add($this->form);
  164.         TTransaction::close();
  165.         parent::add($container);
  166.     }
  167.     
  168.     public function onShow()
  169.     {      
  170.     } 
  171. }
  172. ?>

</Marconi>
NR

Se você não está mais usando a trait, não existe nenhuma função onDelete, por isso o erro.

Eu criaria 2 funções, onDeleteHistorico e onDeleteDependente, por exemplo.