我敢肯定,現在你已經想通了這一點,但因爲這個問題一直沒有答案,我一直在尋找一種方式來做到這這我已經更新如果有人絆倒了這個問題,那麼你將會成爲未來的參考。
http://plnkr.co/edit/PjTlyX?p=preview
有兩件事情要考慮,你要檢查所有的複選框,無論過濾或做檢查需要進行濾波中心。
設置一個$ scope變量未過濾列表,如果你希望忽略數據源
var data = [{id: 1, name: "Moroni", age: 50, money: -10},
{id: 2, name: "Tiancum", age: 43,money: 120}]
$scope.data = data;
的過濾,或者如果你寧願只選擇已被過濾設置orderedData另一個$範圍複選框在$ scope.tableParams方法中
var orderedData = params.sorting() ?
$filter('orderBy')(data, params.orderBy()) :
data;
orderedData = params.filter() ?
$filter('filter')(orderedData, params.filter()) :
orderedData;
$scope.orderedData = orderedData;
然後你可以自由選擇以往的方式,你更喜歡通過簡單地改變$ scope.users到複選框變量喜歡下面
$範圍變量
// watch for check all checkbox
$scope.$watch('checkboxes.checked', function(value) {
angular.forEach($scope.users, function(item) {
if (angular.isDefined(item.id)) {
$scope.checkboxes.items[item.id] = value;
}
});
});
哇..它真的很好,謝謝很多:)其實我沒有任何解決方案,直到現在。再次感謝:) – Sampath 2015-06-26 11:47:50
太棒了!正是我需要的。謝謝。我更新了它的AngularJS 1.6.4和ngTable 1.0.0:http://plnkr.co/edit/km1Sjv?p=preview – 2017-04-27 06:42:50