迭代Angular.js数据表ng-table

时间:2016-01-29 08:02:21

标签: angularjs angularjs-ng-repeat ngtable

我有一个ng-table(angular.js datable)实现,每页有25条记录,在页面上我点击了一个提交按钮,我需要遍历所有页面中的所有记录,找到哪些记录已经在此表中修改。

下面是我的代码,我只能遍历当前所选页面中的记录,而不是其余页面。

$scope.tableParams = new NgTableParams(
                    {
                        page: 1,
                        count: 25,
                    },
                    {
                        total: records.length,
                        getData: function ($defer, params) {
                            $scope.data = params.sorting() ? $filter('orderBy')(records, params.orderBy()) : result;
                            $scope.data = params.filter() ? $filter('filter')($scope.data, params.filter()) : $scope.data;
                            $scope.data = $scope.data.slice((params.page() - 1) * params.count(), params.page() * params.count());
                            $defer.resolve($scope.data);
                        }
                    });


var skus = [];
    angular.forEach($scope.tableParams.data, function (product) {
                    if (product.quantity > 0) {
                        var sku =
                          {
                            AddToCart: true,
                            CategoryId: product.categoryId,
                            PriceCharged: product.displayPrice,
                            Quantity: product.quantity,
                            SkuCode: product.skuCode
                         }
                        skus.push(sku);
                    }        
                });

1 个答案:

答案 0 :(得分:1)

可能您可以使用事件ngTableEventsChannel.onDatasetChanged来捕获已修改的行并将其复制到新对象。 您也可以尝试在已编辑的单元格上使用ng-change。

请记住,您在记录对象中拥有所有记录。