Динамически скрывать строки в ng-сетке AngularJS

Я объявил столбец с именем State как enum с 4 значениями: None (значение по умолчанию), Обновлено, Новое и Удалить.

Я помещаю кнопку столбца под названием "Acciones", когда я нажимаю на эту кнопку, это вызывает событие, которое меняет значение State на "Удалить", я хочу скрыть эту строку, когда это происходит, но filteroptions не работает.

Это мой код:

           $scope.stateCRUD = {
               0: 'None',
               1: 'New',
               2: 'Delete',
               3: 'Update' 
           };

           $scope.filterOptions = {
               filterText: 'state:Delete',
               useExternalFilter: true
           };

           $scope.gridOptionsDetailCurvaOriginal = {

               data: 'detailCurvaOriginalList',
               columnDefs: [
                   { field: 'objetoItem', displayName: 'Item', width:'130px', cellClass: 'grid-align', visible: false},
                   { field: 'ejercicio', displayName: 'Ejer', width: '12%', cellClass: 'grid-align', enableCellEdit: $scope.canEdit(), resizable: true },
                   { field: 'importe', displayName: 'Importe', width: '20%', cellClass: 'grid-align', enableCellEdit: $scope.canEdit() },
                   { field: 'state', displayName: 'State', width: '130px', cellClass: 'grid-align', visible: true },
                   { displayName: 'Acciones', width: '12%', cellClass: 'grid-align', cellTemplate: '<div class="ng-grid-icon-container"><a href="javascript:void(0)" class="btn btn-rounded btn-xs btn-icon btn-default" ng-click="DeleteItemCurvaOriginal(row)"><i class="fa fa-close"></i></a></div>' }
               ],
               showFooter: true,
               enableRowSelection: true,
               filterOptions: $scope.filterOptions,
               multiSelect: false,
               enableCellEditOnFocus: false,
               selectedItems: $scope.mySelections,
               totalServerItems: 'detailCurvaOriginalTotalItems',
               beforeSelectionChange: function (data) { $scope.idRowSelectedCurvaOriginal = data.rowIndex; },
               jqueryUITheme: false
           };

           $scope.DeleteItemCurvaOriginal = function (row) {
               $scope.detailCurvaOriginalList[row.rowIndex].state = $scope.stateCRUD[2];
           };

0 ответов

Другие вопросы по тегам