2015-08-06 3 views
1

Я бы хотел, чтобы моя сетка отображала строки, которые соответствуют только creteria. Например, я хочу, чтобы моя сетка отображала только строки, где имя - Брайан.AngularJS: угловая-ui-сетка, показывающая строки на основе условия

var app = angular.module('app', ['ngAnimate', 'ui.grid']); 

app.controller('MainCtrl', ['$scope', '$http', function ($scope, $http) { 

    $scope.myData = [{name: "Brian", code: 50,count:20}, 
       {name: "Jason", code: 43,userid:1}, 
       {name: "Brian", code: 27,userid:10}, 
       {name: "Devon", code: 29,userid:7}, 
       {name: "Kale", code: 34,userid:2}]; 

    $scope.gridOptions = { 
    enableSorting: true, 
    data:'myData', 
    columnDefs: [ 
     { field: 'name', displayName: 'Name'}, 
     {field: 'code', displayName: 'Code'}, 
     { field: 'userid', displayName: 'UserId' 
     } 
     } 
    ] 
    }; 
}]); 

Как я могу это сделать? Заранее спасибо ...

ответ

1

Один из работы вокруг будет, вместо прохождения myData сделать фильтр вам критерии и затем присвоить, что отфильтрованные данные нового переменный объема и назначение, что внутри полей ваших данных gridOptions

Код

$scope.filteredData = myData; //make filter your data manually here 

$scope.gridOptions = { 
    enableSorting: true, 
    data:'filteredData', //passed filtered data here. 
    columnDefs: [ 
     { field: 'name', displayName: 'Name'}, 
     {field: 'code', displayName: 'Code'}, 
     { field: 'userid', displayName: 'UserId' 
     } 
     } 
    ] 
}; 
1

Вам необходимо использовать filter. Вы можете прочитать о стандартном угловом фильтре here. Вы можете прочитать о том, как создавать пользовательские фильтры here.