gpt4 book ai didi

ag-grid 初始加载后刷新列过滤器

转载 作者:行者123 更新时间:2023-12-03 21:04:20 24 4
gpt4 key购买 nike

根据 https://www.ag-grid.com/javascript-grid-filter-set/ , "网格不会为您更新过滤器,因为用例太多...", #同意 .

我正在使用服务器端数据源和无限分页查询大量数据。尽管在初始加载时,我可能确信过滤器列出了所有可用的“选择”,但我希望找到一种解决方案,以某种频率/事件“重新加载”过滤器以确保确定。

我正在尝试使用 resetFilterValues()调用返回的对象的方法 gridOptions.api.getFilterInstance(id) .

使用服务器端数据源时,我收到以下 console.error 输出:
ag-Grid: Set Filter cannot initialise because you are using a row model that does not contain all rows in the browser. Either use a different filter type, or configure Set Filter such that you provide it with values (Source ag-grid-enterprise.min.js:555
注意:带有异步值加载的 values 方法运行良好,并且是根据推荐编写的,例如使用值回调 params.success。

我使用以下方法在列标题中加载过滤器选项:

{
headerName: 'Something',
field: 'SOMETHING',
width: 200,
suppressMenu: false,
suppressFilter: false,
filter: 'agSetColumnFilter',
filterParams: {
values: function (params) {
someAsyncMethodReturningAPIResultsAsArray();
}
newRowsAction: 'keep'
},
menuTabs: ['filterMenuTab']
}

然后我尝试稍后使用以下代码重新加载过滤器(例如在网格外按下按钮时):
var filter = gridOptions.api.getFilterInstance(id);
filter.resetFilterValues();

此代码导致上述错误。

问:有谁知道如何配置 Set Model 以返回错误消息中描述的行?有没有更好的方法来解决任何人都遇到过的这个问题?

谢谢

最佳答案

下面这段代码可以在postProcessPopup中执行回调,它将调用 values()filterParams 中定义的函数每次打开弹出窗口时

var filter = gridOptions.api.getFilterInstance(id);
filter.refreshFilterValues();
备注 : refreshFilterValues函数在这里发挥作用。它在 v24 及更高版本中可用。对旧版本不太确定。

关于ag-grid 初始加载后刷新列过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55344317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com