首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ag网格服务器端上进行筛选,不将开始行设置为0,将结束行设置为100。

在ag网格服务器端上进行筛选,不将开始行设置为0,将结束行设置为100。
EN

Stack Overflow用户
提问于 2021-04-30 18:41:54
回答 2查看 1.1K关注 0票数 0

在这件事上真的需要帮助。

简介:我已经实现了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。救命!!

EN

回答 2

Stack Overflow用户

发布于 2021-08-05 05:41:54

嗨,我在寻找这个确切的问题时遇到了这个问题,环顾四周的文档,却找不到解决办法。这是在他们引入serverSideStoreType: "partial | full"之后发生的。

我目前的解决办法是在params.request.filterModel数据源上更新getRows,如果检测到filterModel上的任何更改

代码语言:javascript
复制
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);
票数 1
EN

Stack Overflow用户

发布于 2022-01-03 13:10:22

我得到了一个方法,在过滤器更改后,网格将被滚动到第一行。

角度:

代码语言:javascript
复制
    filterChanged(params: FilterChangedEvent): void {
       this.gridApi.ensureIndexVisible(0,null);
    }

Javascript:

代码语言:javascript
复制
    filterChanged(params) {
       gridOptions.api.ensureIndexVisible(0,null);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67338972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档