如何预选AG-Grid过滤器下拉复选框值

时间:2018-09-24 19:37:51

标签: javascript angularjs ag-grid

是否可以预选一个或多个过滤器复选框的值?

我当前正在保存最后一个过滤器,因此,如果用户进行过滤,离开页面然后返回,则仍会过滤网格。我遇到的问题是过滤器下拉复选框无法反映过滤的行。

enter image description here

这是我用来设置保存的过滤器的代码:

if ($scope.onFilterChanged) {
 this.gridOptions.onFilterModified = function () {
        $scope.onFilterChanged({filter: ctrl.gridOptions.api.getFilterModel()});
  }
 }

if ($scope.currentFilter && $scope.onFilterChanged) {
    this.gridOptions.api.setFilterModel($scope.currentFilter);
} else {
    this.gridOptions.api.setFilterModel(null);
}
如果我不离开页面并返回,

setFilterModel效果很好。但是我不确定为什么它会更新行,而不更新页面加载时的下拉选项。是否有办法获取过滤的行和复选框以匹配页面加载?

1 个答案:

答案 0 :(得分:1)

是的,可以通过filter API

您需要先获取过滤器实例

let filterInstance = this.gridOptions.api.getFilterInstance('columnNameHere');

然后,您可以决定过滤器中应该包含的内容

filterInstance.selectNothing();
filterInstance.selectValue("value one");
filterInstance.selectValue("value two");
...or...
let model = ["value one", "value two"];
filterInstance.setModel(model);

在最后一步-只需通知网格有关更改

this.gridOptions.api.onFilterChanged();