Lançado Adianti Framework 7.6!
Clique aqui para saber mais
não remove item da datagrid escrevi a função de remover o item seguindo como está nesse exemplo https://www.adianti.com.br/framework_files/tutor/index.php?class=POSFormView eu criei o id da datagrid como necessário e mesmo assim o TDataGrid::removeRowById('vendas_form_datagrid_itens', $param['id']); não funcionou. ...
AR
não remove item da datagrid  
escrevi a função de remover o item seguindo como está nesse exemplo https://www.adianti.com.br/framework_files/tutor/index.php?class=POSFormView

eu criei o id da datagrid como necessário e mesmo assim o
TDataGrid::removeRowById('vendas_form_datagrid_itens', $param['id']);
não funcionou.

  1. <?php
  2. // eu inseri o id na datagrid
  3.  $this->datagridItens->setId('vendas_form_datagrid_itens');
  4. // passei a coluna usando o set fields
  5.  $action_onDelete = new TDataGridAction(array($this'deleteItem'));
  6.  $action_onDelete->setField('id');
  7. $this->datagridItens->addAction($action_onDelete);
  8. $this->datagridItens->createModel();
  9. // minha funcao que deveria deletar o item
  10. public static function deleteItem($param)
  11.     {
  12.         $data = new stdClass;
  13.         $itens = (array) TSession::getValue(__CLASS__ '_vendaItens');
  14.         if (isset($param['id']) && $param['id'] != '') {
  15.             unset($itens[$param['id']]);
  16.             TSession::setValue(__CLASS__ '_vendaItens'$itens);
  17.             $data->valor_total self::calcularTotal($itens);
  18.         }
  19.         // send data, do not fire change/exit events
  20.         TForm::sendData(self::$formName$datafalsefalse);
  21.         // remove row
  22.         TDataGrid::removeRowById('vendas_form_datagrid_itens'$param['id']);
  23.     }
  24. ?>


e mesmo assim não está removendo da datagrid na tela.

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (1)


AR

RESOLVIDO.
Faltava setar o ID na row.
eu substitui o seguinte código
  1. <?php
  2.    $this->datagridItens->addItems($itens);
  3. ?>

por esse código
  1. <?php
  2.     foreach ($itens as $key => $item) {
  3.           $row $this->datagridItens->addItem($item);
  4.           $row->id $item->id;
  5.     }
  6. ?>


Como visto, faltava setar o id da row.