我希望能够在控制器中设置/更新一个值,然后在网格中对其进行过滤。当前,对过滤器的更改不会更新,直到我在网格中键入内容,然后才触发filterChanged事件。关于如何自动过滤网格配置中的数据或至少进行硬刷新的任何想法?

感谢您的帮助。

这是AngularJS UI Grid网站上经过稍微修改的Plunker。
http://plnkr.co/edit/pgX31NT3Ry3XllZ3JO2B?p=preview

这是我在columnDefs部分中当前的过滤器定义:

    { field: 'company', filter: {
    noTerm: true,
    condition: function(searchTerm, cellValue) {
      return cellValue == scope.term;
    }

最佳答案

定义gridOptions时,使用以下命令设置gridAPI变量:

onRegisterApi: function(gridApi){
    $scope.gridApi = gridApi;
},


然后在更新功能中,运行以下命令以重新评估过滤条件:

$scope.gridApi.grid.refresh()


如@Conan所述,一个重大更新已发布,并且仅在

有一个错误,在3.2.x上不起作用。经过测试并在3.1.x和4.x中工作
http://plnkr.co/edit/YbgV9YZrWCZE4cc3qGru?p=preview

07-24 09:46