是否可以预选一个或多个过滤器复选框的值?
我当前正在保存最后一个过滤器,因此,如果用户进行过滤,离开页面然后返回,则仍会过滤网格。我遇到的问题是过滤器下拉复选框无法反映过滤的行。
这是我用来设置保存的过滤器的代码:
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效果很好。但是我不确定为什么它会更新行,而不更新页面加载时的下拉选项。是否有办法获取过滤的行和复选框以匹配页面加载?
答案 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();