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
e mesmo assim não está removendo da datagrid na tela.
eu criei o id da datagrid como necessário e mesmo assim o
TDataGrid::removeRowById('vendas_form_datagrid_itens', $param['id']);
não funcionou.
- <?php
- // eu inseri o id na datagrid
- $this->datagridItens->setId('vendas_form_datagrid_itens');
- // passei a coluna usando o set fields
- $action_onDelete = new TDataGridAction(array($this, 'deleteItem'));
- $action_onDelete->setField('id');
- $this->datagridItens->addAction($action_onDelete);
- $this->datagridItens->createModel();
- // minha funcao que deveria deletar o item
- public static function deleteItem($param)
- {
- $data = new stdClass;
- $itens = (array) TSession::getValue(__CLASS__ . '_vendaItens');
- if (isset($param['id']) && $param['id'] != '') {
- unset($itens[$param['id']]);
- TSession::setValue(__CLASS__ . '_vendaItens', $itens);
- $data->valor_total = self::calcularTotal($itens);
- }
- // send data, do not fire change/exit events
- TForm::sendData(self::$formName, $data, false, false);
- // remove row
- TDataGrid::removeRowById('vendas_form_datagrid_itens', $param['id']);
- }
- ?>
e mesmo assim não está removendo da datagrid na tela.
RESOLVIDO.
Faltava setar o ID na row.
eu substitui o seguinte código
por esse código
Como visto, faltava setar o id da row.