在这件事上真的需要帮助。
简介:我已经实现了ag网格服务器端模式和部分存储延迟加载。
问题场景: ServerSide模式,所发生的是当你滚动更多的数据被加载,在ag-网格方面,更多的行块被加载。
假设块大小为100行。我滚动5-6次,5-6请求转到服务器,使用getRows方法在ServerSideDataSource实现中的成功回调将数据加载到网格中。
您目前正在查看视图端口中的第500行-第600行(最后一次发送到服务器的请求)。
如果在列上应用一个新的/现有的过滤器,getRows方法将被调用,但是请求参数具有startRow 500和endRow 600(当前正在查看的rowBlock)。
这就是问题所在。我希望这分别是0和100,因为您通常实现服务器端过滤。它应该是一个新的请求服务器的权利。ag-网格应该识别应用了一个新的过滤器,因此转储网格上的现有行,用0和100个值向服务器发送新的请求。
当您已经加载了应用到500的筛选器并滚动到加载500-600的数据时,这个开始和结束行值是很好的。但是,当过滤器第一次应用/新应用时(与现有过滤器/新应用相比),您需要开始行和结束行为0和100。救命!!
发布于 2021-08-05 05:41:54
嗨,我在寻找这个确切的问题时遇到了这个问题,环顾四周的文档,却找不到解决办法。这是在他们引入serverSideStoreType: "partial | full"之后发生的。
我目前的解决办法是在params.request.filterModel数据源上更新getRows,如果检测到filterModel上的任何更改
getRows: function (params) {
//update startRow to 0 then detect changes
if(grid.filterModel != JSON.stringify(params.request.filterModel) ){
params.request.startRow = 0;
}
grid.filterModel = JSON.stringify(params.request.filterModel);发布于 2022-01-03 13:10:22
我得到了一个方法,在过滤器更改后,网格将被滚动到第一行。
角度:
filterChanged(params: FilterChangedEvent): void {
this.gridApi.ensureIndexVisible(0,null);
}Javascript:
filterChanged(params) {
gridOptions.api.ensureIndexVisible(0,null);
}https://stackoverflow.com/questions/67338972
复制相似问题