AngularJS:angular-ui-grid根据条件显示行

时间:2015-08-06 20:38:09

标签: angularjs angular-ui-grid

我希望我的网格显示只匹配creteria的行。例如,我希望我的网格只显示名称为Brian的行。

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'
        }
      }
    ]
  };
}]);

我怎么能做到这一点?提前谢谢你......

2 个答案:

答案 0 :(得分:1)

您需要使用filter。您可以阅读标准角度滤波器here。您可以阅读有关如何制作自定义过滤器here的信息。

答案 1 :(得分: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'
        }
      }
    ]
};